USART用レジスタ

○ USARTデータレジスタ(DR0) USART受信バッファとUSART送信バッファは同一アドレスだが別物

 R/TxB7 R/TxB6 R/TxB5 R/TxB4R/TxB3R/TxB2R/TxB1R/TxB0

*送信バッファはUCSRAレジスタの送信データレジスタ空き(UDRE)フラッグがセット「1」のときだけ書き込み可


○ USART制御/状態レジスタA(UCSR0A

 RXC0 TXC0 UDRE0  FE0 DOR0UPE0U2X0MPCM0

ビット記号名  前機  能
7RXC0USART受信完了フラッグ受信バッファに未読データが有る時「1」、
受信完了割込み許可
6TXC0USART送信完了フラッグ送信バッファに新規データが存在しない特「1」
送信完了割込み許可
5UDRE0USART送信データレジスタ空きフラッグ送信バッファが新規データを受け取る準備が出来る時「1」、
送信データレジスタ空き割込み許可
4FE0フレーミングエラーフラッグ次の受信データの第1ストップビットが「0」の時「1」
3DOR0データオーバーランエラーフラッグ受信バッファが一杯で次のフレームのスタートビットを検出した時「1」
2UPE0パリティエラーフラッグパリティーエラーがあり、パリティ検査許可(UPM1=1)の時「1」
1U2X0倍速許可非同期動作でのみ使用可、ボーレート分周器を16から8に減らす
0MPCM0マルチプロセッサ通信動作マルチプロセッサ通信許可


○ USART制御/状態レジスタB(UCSR0B

 RXCIE0 TXCIE0 UDRIE0 RXEN0TXEN0UCSZ02RXB80TXB08


ビット記号名  前機  能
7RXCIE0受信完了割り込み許可UCSRAの受信完了(RXC)フラッグでの割込みを許可
6TXCIE0送信完了割り込み許可UCSRAの送信完了(TXC)フラッグでの割込みを許可
5UDRIE0送信データレジスタ空き割り込み許可UCSRAの受信データレジスタ空き(UDRE)フラッグでの割込みを許可
4RXEN0受信許可「1」を書くことでRDXピンの標準ポート動作無効
3TXEN0送信許可「1」を書くことでTDXピンの標準ポート動作無効
2UCSZ02データビット長選択2フレームのデータビット数の設定ビット2
1RXB80受信データビット89ビットフレームでの受信第9データ
0TXB80送信データビット89ビットフレームでの送信第9データ


○ USART制御/状態レジスタC(UCSR0C

   UMSEL01   UMSEL00 UPM01UPM00USBS0UCSZ01USCZ00UCPOL0


ビット記号名  前機  能
7UMSEL01

6UMSEL00USART動作選択00:非同期動作、 01:同期動作
5UPM1パリティ選択受信許可00:禁止、         01: - 、 
10:偶数パリティ許可、 11:奇数パリティ許可
4UPM0
3USBS
ストップビット(数)選択0:1ビット、  1:2ビット
2UCSZ1データビット長選択UCSZ2,1,0の組み合わせでデータビット長を選択
000:5bit, 001:6bit, 010:7bit, 011:8bit, 111:9bit
1UCSZ0
0UCPOLクロック極性選択(同期)「0」:送信はXCKの立ち上がりエッジ、受信は立ち下がりエッジ
「1」:送信はXCKの立ち下がりエッジ、受信は立ち上がりエッジ


○ USARTボーレートレジスタ(UBRR0) UBRR0H,UBRR0Lの12bit

UBRR0H
   -     -     -    -  UBRR11UBRR10UBRR9UBRR8
UBRR0L
UBRR7UBRR6 UBRR5UBRR4UBRR3UBRR2UBRR1UBRR0

ボーレートの設定はマニュアルP125