STC8G1K08 uart传输错误率高怎么办
STC8G1K08 uart配置如下,发现跟电脑通讯,波特率已经很低了还是通讯错误率很高,发几次才出来一个正确的
void Uart2Isr() interrupt 8
{
if (S2CON & 0x02)
{
S2CON &= ~0x02;
busy2 = 0;
}
if (S2CON & 0x01)
{
S2CON &= ~0x01;
buffer = S2BUF;
wptr &= 0x0f;
}
}
void Uart2Init() //2400bps@11.0592MHz
{
P_SW2 = 0x00;
S2CON = 0x10; //8位数据,可变波特率
T2L = 0x80; //设置定时初始值
T2H =0xFB; //设置定时初始值
AUXR |= 0x14; //定时器2开始计时
wptr = 0x00;
rptr = 0x00;
busy2 = 0;
IE2 = 0x01;
}
void Uart2Send(char dat)
{
while (busy2);
busy2 = 1;
S2BUF = dat;
}
void Uart2SendStr(char *p)
{
while (*p)
{
Uart2Send(*p++);
}
}
您用我司的范例配合串口助手再测试下试试:
可能楼主的 USB 转串口误差大,换个 STC的【一箭双雕之USB转双串口】测试下
我也是发现STC8G1K08的串口不稳定,也没解决呢 不是 STC8G1K08的串口水平不够,是新人实践还是弱了些,另外用的第3方USB转串口可能也有问题
参考下面的程序,知到自己水平弱在哪
【新提醒】求STC8H/STC8G系列 4个串口同时通信的演示程序,Modbus 演示程序 - 串行口,DMA支持的4组串口 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
页:
[1]