[国产单片机] STC15W404AS定时器2串口程序有问题

[复制链接]
3472|6
 楼主| xyz133355555 发表于 2016-5-3 10:43 | 显示全部楼层 |阅读模式
请各位帮忙看下  波特率9600,发送出去接收不到数据

void ConfigUART(unsigned int Baud)
{
        ES = 1;
        SCON = 0x50;
        T2H = (unsigned char)((65536-(11059200/4/Baud))>>8);
        T2L = (unsigned char)(65536 - (11059200/4/Baud));
        AUXR |= 0x11;
}


void IntUART() interrupt 4
{
        if (RI)
        {
                RI = 0;
                RxdByte = SBUF;
                SBUF = RxdByte;
        }

        if (TI)
        {
                TI = 0;
        }
}
jekey 发表于 2016-5-3 11:20 | 显示全部楼层
那你用stc的下载工具生成初始化代码啊。
 楼主| xyz133355555 发表于 2016-5-3 12:34 | 显示全部楼层
不行啊 寄存器不同,没有BRT寄存器,只有T2H,T2L
jekey 发表于 2016-5-3 13:27 | 显示全部楼层
xyz133355555 发表于 2016-5-3 12:34
不行啊 寄存器不同,没有BRT寄存器,只有T2H,T2L

那你生成代码的时候,选择定时器2啊。
 楼主| xyz133355555 发表于 2016-5-3 15:29 | 显示全部楼层
用软件配置了 下载进去还是不行。不知道是不是硬件问题?
 楼主| xyz133355555 发表于 2016-5-3 15:34 | 显示全部楼层
void UartInit(void)                //9600bps@11.0592MHz
{
        SCON = 0x50;                //8位数据,可变波特率
        AUXR |= 0x01;                //串口1选择定时器2为波特率发生器
        AUXR |= 0x04;                //定时器2时钟为Fosc,即1T
        T2L = 0xE0;                //设定定时初值
        T2H = 0xFE;                //设定定时初值
        AUXR |= 0x10;                //启动定时器2
}
 楼主| xyz133355555 发表于 2016-5-19 14:59 | 显示全部楼层
其实程序都OK,就是STC的下载器只能烧程序,不能用来串口通讯。换成接到开发板上的串口脚上就OK了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

26

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部