STC12c2052AD简单串口通信失败

2019-07-15 08:23发布

#include<STC12C2052AD.h>  
void Sleep(unsigned int mm)
{
    int i,j;
    for(i = 0;i<mm;i++)
    {
        for(j = 0;j<600;j++)
        {
        }
    }
}
void Send(unsigned char a)
{
    SBUF = a;
    while(ti == 0);
    TI = 0;
}
void main()
{
    unsigned char i;
    TMOD = 0x20;
    SCON = 0x50;
    TH1 = TL1 = 0xF3;
    PCON = 0x80;
    TR1 = 1;
    while(1)
    {
        for(i = 0;i<0x10;i++)
        {
            Send(i);
            Sleep(1000);
        }
    }
}

单片机每秒发送一次数据到串口。
但是串口助手收到的信息是
00 00
80 00
00 00
80 00
00 00
80 00

为什么会这样呢?
按理说收到的信息应该是从0x0到0x10才对啊。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
wulinwl
1楼-- · 2019-07-15 19:00
 精彩回答 2  元偷偷看……
勇哥-lzu
2楼-- · 2019-07-15 22:41
一般都是波特率的问题,晶振使用的是内部晶振还是外部晶振?  设置初值用的时钟频率对不对?  如果使用内部晶振,在下载的时候要选择正确的时钟频率
W7x64
3楼-- · 2019-07-16 00:31
果然是波特率的问题,谢谢各位大神的指点

一周热门 更多>