用的单片机是STC12C5410AD,我设置的波特率是9600bps,可是到了串口调试助手却要求改成4800bps才能勉强把大部分数据接收正确,还有少数乱码。
注:PCON是默认状态,也就是说是工作在12T状态下的。
串口工作在方式1下。
应该不是串口转换的问题,换了其他程序没问题。
应该也不是串口调试助手的问题,换了几个调试助手也没用。
/***********************************
**函数名称:ser_init()
**输入参数:无
**输出参数:无
**功能描述:串行口通信初始化
************************************/
void uart_init()
{
TMOD = 0x20; //定时器1工作方式2
TL1 = 0xfd; //波特率为9600bps
TH1 = 0xfd;
TR1 = 1;
SM0 = 0; //串行口通信方式1
SM1 = 1;
REN = 0; //禁止串行口接收
ES = 0; //关闭串行口中断
}
|