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