UARTのタイムアウト

PC(親基板)からUartで18バイト受信して処理を行うプログラムを作成しています。

R_UART0_Receive((uint8_t *)RECV_DATA0, 18);

で受信処理をしていて、通常は正常に動作しているのですが、お客様の親基板側のマイコンリセット時に

Uartにノイズがのってしまて、18バイトが送られてこないので、Uartが受信完了にならず、プログラムが

正常に動作しなくなります。

コード生成ツールを使用してプログラムを作成しておりますが、想定していないバイト数の受信をした時に

対応する方法はありますでしょうか?

Parents
  • わかさん、鈴木と申します。

    タイムアウト機能がありませんので、タイマ割り込みなどで、タイムアウトを監視するのがよいと思います。

    タイムアウト時の処理としてPCへの再送要求、マイコン側の再受信処理などが考えられます

    以上、よろしくお願いします

Reply
  • わかさん、鈴木と申します。

    タイムアウト機能がありませんので、タイマ割り込みなどで、タイムアウトを監視するのがよいと思います。

    タイムアウト時の処理としてPCへの再送要求、マイコン側の再受信処理などが考えられます

    以上、よろしくお願いします

Children
No Data