2383704_ja-JP

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

2383704_ja-JP

2383704_ja-JP

S32K314 UART

最近、S32K314シリアルポートのデバッグ中に問題が発生しました。以前はGD32/STM32プラットフォームを使用しており、シリアルポートをリアルタイム印刷に使用する場合、アプリケーション層で印刷文字を処理し、割り込みを介して送信するために基盤となる書き込み関数を呼び出していました。

Joker_Y_2-1781951653320.pngJoker_Y_2-1781951653320.png

Joker_Y_4-1781951712695.pngJoker_Y_4-1781951712695.pngJoker_Y_5-1781951735385.pngJoker_Y_5-1781951735385.png


このデータはデータレジスタに直接書き込まれ、すぐに送信されます。そのため、キューがありデータ転送が高速なので、アプリケーション層が大量のデータを受信しても慌てる必要はありません。しかし、S32K3 を使用すると、ネストされたレイヤーがあるため、非同期送信関数 `Lpuart_Uart_Ip_AsyncSend` が比較的遅いことがわかりました。相対的に言えば、同じバイト数のプリントデータの場合、S32K3 は GD32 よりもはるかに遅いです。AI は解決策を提供します。

Joker_Y_6-1781952019622.pngJoker_Y_6-1781952019622.png


アプリケーション層では、書き込みごとの処理方式から、大きなバッファを使用して下位層に書き込む方式に変更されます。そして、下位層の書き込み関数と割り込みは、以下のように処理されます。

Joker_Y_7-1781952213976.pngJoker_Y_7-1781952213976.png

Joker_Y_8-1781952251883.pngJoker_Y_8-1781952251883.png

この方法は確かに速度を向上させますが、大量のRAMを必要とします。容量と効率の両面でより優れた方法はありますか?




Re: S32K314 UART

MCUレベルでのOSを使っていますか?それともベアメタルだけですか?

Re: S32K314 UART

使用されているオペレーティングシステム

Re: S32K314 UART

こんにちは@Joker_Y

可能であれば、レジスタを使用してLPUART送信を直接実装してみてください。

Re: S32K314 UART

具体的な手順の例を教えていただけますか?

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎06-27-2026 03:30 AM
更新者: