こんにちは。S32K312 で UART 通信を使用する場合、ボー レートが 19200 を超えると、受信データのエラー率が高くなったり、完全に失敗したりします。19200 未満のボーレートでは問題はありません。この原因は何でしょうか? また、どのように最適化できるでしょうか?以下は私の受信コードとクロック構成ですか?
こんにちは、
実行時間を短くするために、受信バイトプロセッシングコードはできるだけ短くする必要があります。このコールバック イベント情報 は、受信したバイトごとに呼び出す必要があります。そうしないと、オーバーランなどが発生します。
「これは問題ではない。ボーレートを上げると、シリアルバスがクラッシュし、MCU がデータの受信を停止するようです。エラー回復を有効にすると、瞬間的にデータ エラーが発生しますが、受信は停止しません。これまでにこの問題に遭遇したことがありますか?
こんにちは、
おそらくコールバックプロセッシングが原因です。以下のコードを削除し、コールバック イベント情報のみに依存します。
受信関数が 1 バイトの受信で呼び出された場合、受信バイトごとに RXFULL イベント情報が呼び出されるため、RXFULL イベント情報 をできるだけ短くするようにしてください。
BR、ペトル