組み込みシステム設計者のためのLIN2.0マイコン実装術(後編) ――スレーブ・ノード用ドライバ・ソフトウェア開発のポイント
二つ目のブレーク検出の方法は,ハードウェアによるブレーク検出機能を利用することです.今回使用したマイコンに搭載されているLIN対応UART(UART6)には,ブレーク検出モードの制御レジスタASICL6が用意されています(図7).このレジスタのSBRT6ビットを'1'にするとブレーク検出モードとなり,11ビット以上のロー・パルスを受信すると受信割り込みが発生します(図8).
リスト2に,実際の設定処理を示します.該当ビットを設定するだけです.ブレークを受信すると,通常の受信割り込みが発生します.リスト3は,その受信ハンドラです.ブレーク受信による割り込みかどうかは,内部の状態変数で判別しています(リスト3の9行目).受信後は,同期バイト処理へ移行しています(12行目).