问题补充 : 2018/06/11 20:52uart0初始化函数为官方函数,模式1
void InitialUART0_Timer1(UINT32 u32Baudrate)
{
P06_Quasi_Mode; //tx pin
P07_Quasi_Mode; //rx pin
SCON = 0x50; //UART0 Mode1,REN=1,TI=0, Full Duplex, Enable Receive, Clear Transmit Interrupt Flag
TMOD |= 0x20; //Timer1 Mode1
set_SMOD; //UART0 Double Rate Enable
set_T1M; //tim1 clock as sys clock
clr_BRCK; //Serial port 0 baud rate clock source = Timer1
#ifdef FOSC_160000
TH1 = 256 - (1000000/u32Baudrate+1); /*16 MHz */
#endif
#ifdef FOSC_166000
TH1 = 256 - (1037500/u32Baudrate); /*16.6 MHz */
#endif
set_TR1;
set_TI;
}