|
12M晶振的波特率不要超過2400,最高4800但要設(shè)置加倍,否則誤差太大不能正常通訊。
- void UartInit(void) //2400bps@12.000MHz
- {
- PCON= 0x00; //波特率不倍速
- SCON= 0x50; //8位數(shù)據(jù),可變波特率
- TMOD= 0x20; //設(shè)定定時器1為8位自動重裝方式
- TL1 = 0xF3; //設(shè)定定時初值
- TH1 = 0xF3; //設(shè)定定時器重裝值
- ET1 = 0; //禁止定時器1中斷
- TR1 = 1; //啟動定時器1
- EA = 1; //使能總中斷
- ES = 1; //使能串口中斷
- }
- void UartInit(void) //4800bps@12.000MHz
- {
- PCON= 0x80; //使能波特率倍速位SMOD
- SCON= 0x50; //8位數(shù)據(jù),可變波特率
- TMOD= 0x20; //設(shè)定定時器1為8位自動重裝方式
- TL1 = 0xF3; //設(shè)定定時初值
- TH1 = 0xF3; //設(shè)定定時器重裝值
- TR1 = 1; //啟動定時器1
- ET1 = 0; //禁止定時器1中斷
- EA = 1; //使能總中斷
- ES = 1; //使能串口中斷
- }
復(fù)制代碼 |
|