设置成9600波特率,实际测试测量发现输出波特率是14400? 哪里多了1.5倍?
#define MAIN_Fosc 11059200L //定义主时钟
#define BaudRate1 9600UL //选择波特率
#define Timer1_Reload (65536UL -(MAIN_Fosc / 4 / BaudRate1)) //Timer 1 重装值
void InitUart0(void)
{
TR1 = 0; //波特率使用Timer1产生
AUXR &= ~0x01; //S1 BRT Use Timer1;
AUXR |= (1<<6); //Timer1 set as 1T mode
TH1 = (u8)(Timer1_Reload >> 8);
TL1 = (u8)Timer1_Reload;
TR1 = 1;
TMOD = 0x20; //设定定时器1为8位自动重装方式
} |