2

atmega32でUSARTを初期化する方法について、インターネットでコードのこの部分を見つけました。私のアプリケーションでは問題なく動作しますが、もっとよく理解したいです。

void USART_initial (void){
#define BAUD 9600 // We set the desired baud rate( here we set it at 9600bps)
#include <util/setbaud.h>  // 
UBRRH = UBRRH_VALUE;
UBRRL = UBRRL_VALUE;
#if USE_2X
UCSRA |= (1 << U2X);
#else
UCSRA &= ~(1 << U2X);
#endif

UCSRB = (1<<RXEN)|(1<<TXEN); // Enable transmitter/receiver.
UCSRC = (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1); // Character size : 8 bit

私の質問は、UBRRH および UBRRL レジスタの正確な使用法は何ですか? また、なぜそれらを使用する必要があるのですか?

事前にどうもありがとうございました

4

1 に答える 1