rl78F14のUART受信の問題点について

こんにちは TTです。

 

現在、下記のような処理を行おうとしています。

A:自分(RL78F14)

B:通信相手(Aからもらったデータ内容に応じて返信してくる)

1. A→Bへデータを送信する

2.  自分(A)は自分で送信したデータを受信してしまうので、送信したデータと受信したデータが同じならデータを破棄する

3. Bからの返信を受信するまで待つ

4. Bからの返信を受信出来たら、データを取り出す。

 

しかし、上記処理中の3でBからのデータを受信することが出来ません。

通信ログを確認したところ、

・A→Bへ正しくデータを送信できている事、B→Aへデータが正しく送信されていることは確認できています。

・BはAからのデータをもらって15ms程度で返信を返してきています。

現在の不具合の仮説としては、「自分の送信データ受信→受信完了の間にBからの返信が来てしまっている?」と考えています。

そこで、EUARTの受信データの受信完了にはどれくらい時間がかかるものなのでしょうか?

また、ほかに考えられる原因等あればご教授ください。

Parents
  • チョコです。
    >そこで、EUARTの受信データの受信完了にはどれくらい時間がかかるものなのでしょうか?
    通常UARTは,STOPビットの中央(サンプリング・タイミング)で受信は完了するはずです。
    そこで,UART受信完了の割り込みが発生するので,後はソフトでの処理になります。
    UARTには受信結果を示すエラーフラグがあります。そこがどうなっているかも参考になるはずです。

    なお,RL78F14には,2種類(SAUのUARTとLIN/UART)のUARTが存在します。
    どちらのUARTかを明確にしてください。また,Hosさんもコメントしているように,ループバックなど
    どのような使い方をしているかを明確にしてください。
Reply
  • チョコです。
    >そこで、EUARTの受信データの受信完了にはどれくらい時間がかかるものなのでしょうか?
    通常UARTは,STOPビットの中央(サンプリング・タイミング)で受信は完了するはずです。
    そこで,UART受信完了の割り込みが発生するので,後はソフトでの処理になります。
    UARTには受信結果を示すエラーフラグがあります。そこがどうなっているかも参考になるはずです。

    なお,RL78F14には,2種類(SAUのUARTとLIN/UART)のUARTが存在します。
    どちらのUARTかを明確にしてください。また,Hosさんもコメントしているように,ループバックなど
    どのような使い方をしているかを明確にしてください。
Children