「ATmega328のUSARTの使用方法(準備)」の版間の差分

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

34行目: 34行目:
== USARTの設定 ==
== USARTの設定 ==
===== USARTのレジスタ設定 =====
===== USARTのレジスタ設定 =====
UCSRnA(USART Control and Status Register n A)は、シリアル通信の制御や状態を表すためのレジスタである。<br>
<center>
<center>
{| class="wikitable"
{| class="wikitable"
47行目: 48行目:
* TXCn  : USART送信完了フラグ<br>新規データがないときに1がセットされる<br>送信完了割り込みを発生できる
* TXCn  : USART送信完了フラグ<br>新規データがないときに1がセットされる<br>送信完了割り込みを発生できる
* UDREn : USART送信データレジスタ空きフラグ<br>送信バッファが新規データを受け取る準備ができたら1がセットされる<br>送信バッファ空き割り込みを発生できる
* UDREn : USART送信データレジスタ空きフラグ<br>送信バッファが新規データを受け取る準備ができたら1がセットされる<br>送信バッファ空き割り込みを発生できる
* FEn  : フレーミング異常フラグ
* FEn  : フレーミング異常フラグ<br>受信バッファ内の次の文字にフレームエラーが発生したときに1になる
* DORn  : データオーバーラン発生フラグ
* DORn  : データオーバーラン発生フラグ<br>データオーバーランを検出すると1になる<br>受信バッファが満杯のときに、新たにスタートビットを検出するとデータオーバーランが発生する
* UPEn  : パリティ誤りフラグ
* UPEn  : パリティ誤りフラグ<br>受信バッファ内の次のフレームにパリティエラーが発生したときに設定される
* U2Xn  : 倍速許可<br>非同期動作のときのみ有効
* U2Xn  : 倍速許可<br>非同期通信のみ有効で、1を設定すると分周比を16から8にする<br>結果として、通信速度が2倍になる
* MPCMn : 複数プロセッサ通信動作
* MPCMn : 1を設定すると、マルチプロセッサ通信モードが有効になる<br>アドレス情報を含まない受信データが無視される
<br>
<br>
<center>
<center>
68行目: 69行目:
* RXENn  : 受信許可<br>USART受信を許可する
* RXENn  : 受信許可<br>USART受信を許可する
* TXENn  : 送信許可<br>USART送信を許可する
* TXENn  : 送信許可<br>USART送信を許可する
* UCSZn2 : データビット長選択2<br>USCRnCのUCSZn1,0ビットと組み合わせたUCSZn2は、送受信フレームのデータビット数を設定する
* UCSZn2 : データビット長選択2<br>USCRnCのUCSZn1とUCSZn0ビットと組み合わせたUCSZn2は、送受信フレームのデータのビット長を設定する
* RXB8n  : 受信データビット8
* RXB8n  : 9ビット長のデータを受信したときの9番目のビット
* TXB8n  : 送信データビット8
* TXB8n  : 9ビット長のデータを送信するときの9番目のビット
<br>
<br>
UCSRnC(USART Control and Status Register n C)は、パリティやストップビットの設定を行うためのレジスタである。<br>
<center>
<center>
{| class="wikitable"
{| class="wikitable"
86行目: 88行目:
|}
|}
</center>
</center>
* UMSELn 1 - 0 : USART動作選択<br>00(非同期動作)<br>01(同期動作)<br>10(予約)<br>11(主装置SPI)
* UMSELn 1 - 0 : USART動作選択<br>00(非同期動作)<br>01(同期動作)<br>10(予約)<br>11(マスターSPI)
* UPMn 1 - 0  : パリティ選択<br>00(禁止)<br>01(予約)<br>10(偶数パリティ許可)<br>11(奇数パリティ許可)
* UPMn 1 - 0  : パリティ選択<br>00(禁止)<br>01(予約)<br>10(偶数パリティ許可)<br>11(奇数パリティ許可)
* USBSn        : 送信時に挿入されるストップビットのビット数を指定する<br>0 : ストップビットは1ビット<br>1 : ストップビットは2ビット
* USBSn        : 送信時に挿入されるストップビットのビット数を指定する<br>0 : ストップビットは1ビット<br>1 : ストップビットは2ビット
* UCSZn 1 - 0  : データビット長選択<br>UCSZn2と組み合わせて使用する<br>000(5bit)<br>001(6bit)<br>010(7bit)<br>011(8bit)<br>111(9bit)<br>他は予約
* UCSZn 1 - 0  : データビット長を選択<br>UCSZn2と組み合わせて使用する<br>000(5bit)<br>001(6bit)<br>010(7bit)<br>011(8bit)<br>111(9bit)<br>他は予約
* UCPOLn      : クロック極性を選択する<br>1 : 同期モード<br>0 : 非同期モード
* UCPOLn      : クロック極性を選択する<br>1 : 同期モード<br>0 : 非同期モード
<br>
<br>