如下,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为波特率发生器
TL1 = TM;
TH1 = TM>>8; //
TR1 = 1; //定时器1开始计时
|