ABOV(12)UART

USI0 UART送信

前:[23]が設定された機能TXD0ビットピンべきP4FSR TXD0を介して、送信を有効にすると、ボーレート、動作モードとUART送信フレームフォーマットを設定することによって有効に伝送されなければならないが、TXE0 SUI0CR2レジスタビット一度それが設定されます。同期モードは、SCK0ピンがクロックを送信するため、必要にP4FSR [5:4]のときのビットがセットSCK0です。

USI0 UARTは、TXデータを送信します

ローディング(USI0DR)を開始することによって、送信バッファに送信すべき送信データ。シフトレジスタは、新しいデータを送信する準備ができている場合、シフトレジスタへの送信バッファに書き込まれたデータビットは、シフト・レジスタは、新しいデータがロードされるか、または最後のストップビットがアイドル状態で送信された直後。シフトレジスタは、新しいデータがロードされると、それは、制御レジスタに応じたデータの完全なセットをお送りします。これは9を使用している場合、彼は送信バッファ(USI0DR)にロードする前に、9ビットUSI0CR3 USI0TX8をレジスタに書き込む必要があります。

USI0 UART割り込みフラグを送信し、

UATRトランスミッタは、彼がその状態を示し、二つのフラグがあります。UARTはデータが空フラグ(DRE0)さらに完了フラグビット(TXC0)であるレジスタです。前の二つは、割り込みソースとして使用することができます。
伝送レジスタを示すDRE0は、新しいデータを受け入れる準備ができています。送信まだシフトレジスタデータビットがクリアさにシフトしない含むレジスタを送信する場合、送信レジスタのビットを空にした後。また、0を書き込むことができるフラグは、その位置でクリア。1は許可されていません書かれています。
USI0CR2空割り込みデータを登録する際(DRIE0)を登録DRE0ステータス割り込みUSI0ST1を設定すると、オープン合計が割り込みが生成される空のレジスタが、割り込みを可能にしました。
送信シフトレジスタ内のデータのフレーム全体を除去しないと、バッファにはデータTXC0フラグビット値されたとき。TXC0フラグが自動的に送信完了割り込みサービスルーチンクリアされている、またはあなたが0 USI0ST1レジスタを書き込んだビットTXC0をクリアすることができます。
送信が完了したときUSI0CR2は割り込みイネーブルレジスタTXC0 UARTが割り込みを発生する完了割り込みビットを送信セットと総開口ある割り込みビット(TXCIE0)。

USI0 UARTパリティ

パリティを送信シリアルデータ送信パリティは、パリティが有効になっている場合、コンピューティング(USI0PM1 = 1)、最初のMSB及びデータフレームのストップビットに挿入された送信機制御ロジックビット。

USI0 UARTの送信禁止

TXEを空にすることによって、データが完全に送信するために送信されるまで有効になりません送信は禁止されています。もちろん、ときに送信禁止、通常のI / Oポート(GPIO)としてTXD0ピン機能。

USI0 UART受信

UARTはビットUSI0CR2 RXE0レジスタの設定で有効になっています。それが有効になっていると、RXD0足が口の中の状態RXD0機能を入力するように設定する必要があります。ボーレート、動作モードとフレームモードは完全に受信する前に設定する必要があります。ときに同期またはSPIモードでは、ユーザSCK0転送クロック、必要のP4FSRので:SCK0設定機能[54]。SPIモード、SS0端子またはスレーブモードは、出力SS0(マスタ)に設定されている場合。USI0SSEN USI0CR3ビットレジスタで設定することができます。

RXデータ受信USI0 UART

UARTは、同期または非同期モードである場合RXD0にスタートビット(LOW)を検出した場合、受信機は、データの受信を開始します。サンプリング各ボーレートとストップビットを受信するまで、第1のビットの開始後のシフトレジスタにシフトを開始する事前定義しました。第2停止ビットがあっても、1つのストップビットは無視秒レセプタクルです。すなわち、1つのフレームの第一の受信手段完全ストップビットデータは、シフトレジスタを受信において、シフトレジスタの内容は、受信レジスタに転送されて存在しています。レジスタUSI0DRで読み取るレジスタを受けます。
:文字は9([O 2] = USIOSであれば 、 "111") USI0RX8の最初の収納位置9。9番目のビットはUSI0DRから下位8ビットでUSI0RX8を読む前に読み出されなければなりません。同様に、エラーフラグFE0、DOR0、PE0がUSI0DRからデータを読み出す前に読まれなければなりません。受信FIFOと同じ記憶場所にエラーフラグレジスタからです。

公開された47元の記事 ウォンの賞賛0 ビュー1707

おすすめ

転載: blog.csdn.net/New_Joker/article/details/103866032