「ATmega328でUART通信」の版間の差分

ナビゲーションに移動 検索に移動
文字列「</source>」を「</syntaxhighlight>」に置換
編集の要約なし
(文字列「</source>」を「</syntaxhighlight>」に置換)
21行目: 21行目:
  // RoundOff
  // RoundOff
  UBRR0 =  (U16)(((F32)F_CPU / (F32)BAUDRATE / 16.0) - 1.0 + 0.5);
  UBRR0 =  (U16)(((F32)F_CPU / (F32)BAUDRATE / 16.0) - 1.0 + 0.5);
  </source>
  </syntaxhighlight>
<br>
<br>
表と式が異なるが、そのまま計算すると整数切り捨てのための誤差が大きくなるため、四捨五入で誤差を小さくしている。<br>
表と式が異なるが、そのまま計算すると整数切り捨てのための誤差が大きくなるため、四捨五入で誤差を小さくしている。<br>
36行目: 36行目:
  // Enable receiver and transmitter
  // Enable receiver and transmitter
  UCSR0B = (1 << RXEN0) | (1 << TXEN0);
  UCSR0B = (1 << RXEN0) | (1 << TXEN0);
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


63行目: 63行目:
  // Set frame format: 8data, 1stop bit : 8N1
  // Set frame format: 8data, 1stop bit : 8N1
  UCSR0C = (0 << USBS0) | (3 << UCSZ00);
  UCSR0C = (0 << USBS0) | (3 << UCSZ00);
  </source>
  </syntaxhighlight>
一般的には、データビット8[bit]、パリティビット無し、ストップビット1[bit]の通称8N1という形式が多い。<br>
一般的には、データビット8[bit]、パリティビット無し、ストップビット1[bit]の通称8N1という形式が多い。<br>
ここでも、8N1形式で送受信を行う。<br>
ここでも、8N1形式で送受信を行う。<br>
84行目: 84行目:
     UDR0 = data;
     UDR0 = data;
  }
  }
  </source>
  </syntaxhighlight>
<br>
<br>


98行目: 98行目:
     return UDR0;
     return UDR0;
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:AVR]]
[[カテゴリ:AVR]]

案内メニュー