RL78/G13を使用しています。
CSIで別のデバイスと通信したいのですが、シミュレータで出力波形を見るとクロックは出力されるのにデータが出力されません。
CSIを使用する上でアドバイスを頂けないでしょうか。
CSIは、SAU0のCSI11を使用し、シングル転送モード、連続転送モード、どちらでも同じです。
また、関係あるかどうかわからないのですが、SAU0のUART0も有効にしてコード生成しています。
コード生成されたデータは、r_cg_serial_userの割り込み処理の最後にF_SPI_comフラグのクリアを追加しています。
サブルーチンコールは以下のように行っています。
if ((SSR11 & 0x0040 ) == 0) { P14_bit.no0 = 0; g_tx_data[0] = 0x31; g_tx_data[1] = 0x00; data_length = 1; F_SPI_com = 1; result = R_CSI11_Send_Receive(&g_tx_data[0], data_length, &g_rx_data[0]); while (1U) { if ( F_SPI_com == 0 ) break; }
よろしくお願いします。
チョコです。
CS+CC-RLの環境でRL78/G13の64pin版で確認してみましたが,ちゃんとSO11にも波形が出ています。
参考で,画面キャプチャしてPDFを作成したので添付しておきます。
コード生成でCSI11マスタ送受信.pdf
>、SI11,SO11端子はデジタル入力に設定し
これは明らかな間違いです。
SI11は入力設定で構いませんが,SO11端子は出力に設定しないといけません。
参考として,こちらで確認したプロジェクトを添付しておきます。
RL78_CSI_TEST2.zip
KDX200です。
いままで新規にプロジェクトを起こして作業していましたが、気になったことがありupします。
CS+の初期の端子割り当てが添付のようにないっていました。
注意書きで、最初に設定したらできないと表示されていますが、あまり気にせずにいました。
添付画面のように、SCIで使用するポート、P30,P50,P51の端子割り当てがありません。
もしかして、これが原因でしょうか。
だとしたら、お騒がせして申し訳ございませんでした。
でも、なぜ変更できないのでしょうか?