13,002
回編集
細 (文字列「</source>」を「</syntaxhighlight>」に置換) |
細 (文字列「source lang」を「syntaxhighlight lang」に置換) |
||
17行目: | 17行目: | ||
BAUD : ボーレート<br> | BAUD : ボーレート<br> | ||
Fosc : ATmega328のクロック周波数<br> | Fosc : ATmega328のクロック周波数<br> | ||
< | <syntaxhighlight lang="c++"> | ||
// Set baudrate parameter | // Set baudrate parameter | ||
// RoundOff | // RoundOff | ||
33行目: | 33行目: | ||
== レシーバとトランスミッタの有効化 == | == レシーバとトランスミッタの有効化 == | ||
レシーバとトランスミッタの有効化は、USARTのコントロールレジスタを設定する。<br> | レシーバとトランスミッタの有効化は、USARTのコントロールレジスタを設定する。<br> | ||
< | <syntaxhighlight lang="c++"> | ||
// Enable receiver and transmitter | // Enable receiver and transmitter | ||
UCSR0B = (1 << RXEN0) | (1 << TXEN0); | UCSR0B = (1 << RXEN0) | (1 << TXEN0); | ||
60行目: | 60行目: | ||
<br> | <br> | ||
上表において、スタートビットは常に1[bit]なので、残りの3項目のビット数を設定する。<br> | 上表において、スタートビットは常に1[bit]なので、残りの3項目のビット数を設定する。<br> | ||
< | <syntaxhighlight lang="c++"> | ||
// Set frame format: 8data, 1stop bit : 8N1 | // Set frame format: 8data, 1stop bit : 8N1 | ||
UCSR0C = (0 << USBS0) | (3 << UCSZ00); | UCSR0C = (0 << USBS0) | (3 << UCSZ00); | ||
75行目: | 75行目: | ||
===== 送信方法 ===== | ===== 送信方法 ===== | ||
送信バッファが空になるまで待機し、UDR0レジスタに1[Byte]分のデータを書き込む。<br> | 送信バッファが空になるまで待機し、UDR0レジスタに1[Byte]分のデータを書き込む。<br> | ||
< | <syntaxhighlight lang="c++"> | ||
void Transmit1Byte(char data) | void Transmit1Byte(char data) | ||
{ | { | ||
89行目: | 89行目: | ||
===== 受信方法 ===== | ===== 受信方法 ===== | ||
1[Byte]分のデータを受信するまで待機(ポーリング)し、UDR0レジスタを読み取る。<br> | 1[Byte]分のデータを受信するまで待機(ポーリング)し、UDR0レジスタを読み取る。<br> | ||
< | <syntaxhighlight lang="c++"> | ||
char Receive1Byte(void) | char Receive1Byte(void) | ||
{ | { |