JAJZ022A November 2024 – April 2025 AM2612
USART:「タイムアウト割り込みの誤ったクリア / トリガ」を追加
RHR/MSR/LSR レジスタが読み出されたときに、USART が誤ってクリアしたり、タイムアウト割り込みをトリガしたりすることがあります。
CPU の使用事例の場合。
タイムアウト割り込みが誤ってクリアされた場合:
FIFO 内の保留データがタイムアウト割り込みを再トリガするため、これは問題ありません
タイムアウト割り込みが誤って設定され、FIFO が空である場合は、次の SW 回避方法を使用して割り込みをクリアします。
- TIMEOUTH および TIMEOUTL レジスタでタイムアウト カウンタの High 値を設定します
- EFR2 ビット 6 を 1 に設定して、タイムアウト モードを周期的に変更します
- IIR レジスタを読み取って、割り込みをクリアします
- タイムアウト モードを元のモードに戻すには、EFR2 ビット 6 を 0 に戻します
DMA の使用事例の場合。
タイムアウト割り込みが誤ってクリアされた場合:
-次の周期的なイベントでタイムアウト割り込みが再トリガされるため、これは問題ありません
-ユーザーは、EFR2 のビット 6 を 1 に設定して、RX タイムアウト動作を周期的モードにする必要があります
タイムアウト割り込みが誤って設定されている場合:
-これにより、DMA は SW ドライバによって破棄されます
-次の受信データにより SW で DMA が再度設定されるため、問題ありません