|
如下,STC32G 例程的里的一段程序,
一直沒看明白,官方寫這個TM 意指啥? 看下面的引用,似乎是重裝值。 可是為啥用TM呢?,
define Timer0_Reload (65536UL -(MAIN_Fosc / 1000)) //Timer 0 中斷頻率, 1000次/秒,1000個1ms是1s,10ms中斷的話,1000改成100
#define Baudrate 115200UL //波特率
#define TM (65536 -(MAIN_Fosc/Baudrate/4)) //
。。。。
void UartInit(void)
{
P_SW1 = (P_SW1 & 0x3f) | 0x80; //USART1 switch to, 0x00: P3.0 P3.1, 0x40: P3.6 P3.7, 0x80: P1.6 P1.7, 0xC0: P4.3 P4.4
SCON = (SCON & 0x3f) | 0x40;
T1x12 = 1; //定時器時鐘1T模式
S1BRT = 0; //串口1選擇定時器1為波特率發(fā)生器
TL1 = TM;
TH1 = TM>>8; //
TR1 = 1; //定時器1開始計時
|
|