2136196_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2136196_ja-JP

2136196_ja-JP

S32K312 UART

こんにちは。S32K312 で UART 通信を使用する場合、ボー レートが 19200 を超えると、受信データのエラー率が高くなったり、完全に失敗したりします。19200 未満のボーレートでは問題はありません。この原因は何でしょうか? また、どのように最適化できるでしょうか?以下は私の受信コードとクロック構成ですか? 微信图片_20250718111859.png微信图片_20250718111744.png

Re: s32k312 uart

こんにちは、

このコードは冗長ですが、受信を回復するのにCAN。
以下のようにイベント情報を直接使用してください。
PetrS_2-1753181872126.png

実行時間を短くするために、受信バイトプロセッシングコードはできるだけ短くする必要があります。このコールバック イベント情報 は、受信したバイトごとに呼び出す必要があります。そうしないと、オーバーランなどが発生します。

SO、アプリケーションの他のタスク/ペリフェラルに対する割り込み優先度を考慮してください。
 
BR、ペトル
Re: s32k312 uart

「これは問題ではない。ボーレートを上げると、シリアルバスがクラッシュし、MCU がデータの受信を停止するようです。エラー回復を有効にすると、瞬間的にデータ エラーが発生しますが、受信は停止しません。これまでにこの問題に遭遇したことがありますか?

Re: s32k312 uart

こんにちは、

おそらくコールバックプロセッシングが原因です。以下のコードを削除し、コールバック イベント情報のみに依存します。

PetrS_0-1752830107838.png

受信関数が 1 バイトの受信で呼び出された場合、受信バイトごとに RXFULL イベント情報が呼び出されるため、RXFULL イベント情報 をできるだけ短くするようにしてください。

BR、ペトル


タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-21-2025 06:25 PM
更新者: