![見出し画像](https://assets.st-note.com/production/uploads/images/127899062/rectangle_large_type_2_7f50f105489e90ecdf9b7a72238b5ff8.jpeg?width=800)
マイコンde学習しよう(レッスン7)AVR128DA28
「USART 通信」
<目的>
・USART 通信について学ぶ。
<動作概要>
・ボーレートは9600 とする。
・SW1 が押されたらLED1 を反転させ"SW1 ON"を送信する。
・SW2 が押されたらLED2 を反転させ"SW2 ON"を送信する。
・パソコンからsend と入力したら"Hello World!"を送信する。
<ポイント>
・delay 関数を使う。
<レジスタ説明>
![](https://assets.st-note.com/img/1704365814784-5VXlBappWZ.png?width=800)
通信のボーレートを設定します。
ただし設定値はボーレートそのものではなく、計算式によって求めた値になります。
計算式はプログラム説明のところで解説します。
![](https://assets.st-note.com/img/1704365918822-4LdQGOEzjS.png?width=800)
RXCIEビット:受信完了割込み許可
![](https://assets.st-note.com/img/1704365918996-Jsp1E8Jk2Y.png?width=800)
RXENビット:受信割込み許可
TXENビット:送信割込み許可
![](https://assets.st-note.com/img/1705569196966-AFj9Ow2HM3.png?width=800)
RXCIFビット:受信完了割込み要求フラグ データ受信後未読:1 解除:0
(RXDATALレジスタからデータ読み出しで0になります)
![](https://assets.st-note.com/img/1704365992166-pVKJdap1ni.png?width=800)
DATA[7:0]:受信データ(下位)
![](https://assets.st-note.com/img/1704365992267-M1wZYJyZWK.png?width=800)
DATA[7:0]:送信データ(下位)
<プログラム>
この記事が気に入ったらサポートをしてみませんか?