私は、S32K3 RTD 5.0.0 で作業し、特に全二重非同期 (割り込み駆動) の送受信操作に Lpuart_Uart_Ip を使用して、S32K344 プロセッサ用のボード サポート ソフトウェアをコーディングしています。
問題 : イベント LPUART_UART_IP_EVENT_END_TRANSFER ID でコールバックを受信するときに、そのコールバックが未処理の TX に関連付けられているのか、未処理の RX 操作に関連付けられているのかを直接区別する方法がないようです。(このイベントは両方によって生成されます。
Lpuart_Uart_Ip.cを調べた後実装、私は私のユースケースで曖昧さを解消するためのやや複雑な方法を決定しました。具体的には:
おそらく私は何かを見落としています - 曖昧さを解消するためのより良い方法はありますか?他の RTD 実装には個別の RX コールバックと TX コールバックがありますが、ここではそうではありません。私の提案は、RXとTXに別々の「転送終了」イベントタイプの列挙値を用意することですが、APIに対するそのような変更は下位互換性がなく、おそらく次のメジャーRTDバージョン(例:6.0.0)