シリアル通信(送信)について

はじめまして。

RL87/G14にてシリアル通信の処理を作成していますが、送信処理がうまくいかないため、ご教授ください。

処理は、R_UART1_Start();の後、メインループで下記SendSWResultをコールしています。

この送信電文をアナライザで確認したところ、"57"ではなく"00"となっております。

ボーレート、パリティ、データサイズはアナライザ設定と一致しています。

コード生成済みであれば、これで送信ができると思っていたのですが、何か見落としているのでしょうか?


const uint8_t message_SET[2] = {"57"};

void SendSWResult(void)
{
DI(); /* 割込み禁止 */

R_UART1_Send((unsigned char *)message_SET,2U);
while( SSR00 & 0x0020 ) /* バッファ空き待ち */
{
NOP();
}

EI(); /* 割込み許可 */

}

Parents
  • チョコです。

    UART1の送信であれば、SSR00レジスタをチェックするのは間違いです。UART1の送信であれば、SSR02レジスタをチェックすべきです。

    SSR00はUART0の送信ステータスレジスタです。従って、この SendSWResult関数はUART1の送信状態に無関係にwhileループを抜けてしまいます。

    レジスタの関係を確認してください。

    以上

Reply
  • チョコです。

    UART1の送信であれば、SSR00レジスタをチェックするのは間違いです。UART1の送信であれば、SSR02レジスタをチェックすべきです。

    SSR00はUART0の送信ステータスレジスタです。従って、この SendSWResult関数はUART1の送信状態に無関係にwhileループを抜けてしまいます。

    レジスタの関係を確認してください。

    以上

Children
No Data