发送一组串口数据后面会多出一个0x00的数据

[复制链接]
2433|7
 楼主| huwr 发表于 2013-5-9 21:45 | 显示全部楼层 |阅读模式
用79F166做RS485控制,发送一组串口数据后面会多出一个0x00的数据。
huanghuac 发表于 2013-5-9 21:48 | 显示全部楼层
看看你得程序吧
 楼主| huwr 发表于 2013-5-9 21:51 | 显示全部楼层
void UartSendByte(unsigned char dat)
{
   
    EA    =    0;
    SBUF=dat;
    while(TI==0) ;
    TI=0;
    EA    =    1;
huanghuac 发表于 2013-5-9 21:53 | 显示全部楼层
发送和接受都是咋样的
 楼主| huwr 发表于 2013-5-9 21:55 | 显示全部楼层
主程序中发送:
         UartSendByte(0xff);
         UartSendByte(0x01);
         UartSendByte(0x00);
         UartSendByte(0x04);
         UartSendByte(0xff);
         UartSendByte(0x00);
         UartSendByte(0x04);
串口工具收到:
FF 01 00 04 FF 00 04 00
FF 01 00 04 FF 00 04 00
FF 01 00 04 FF 00 04 00
FF 01 00 04 FF 00 04 00
happy_10 发表于 2013-5-9 22:14 | 显示全部楼层
你看你的tx引脚有没有上拉,还有就是tx对应的pin初始化的时候是不是初始化成了输出且输出0,如果是这样,每次发送多会多出一个0,改成初始化输出1 就好了
wenfen 发表于 2013-5-9 22:16 | 显示全部楼层
发送时,必须先将输出口置高电平
 楼主| huwr 发表于 2013-5-9 22:18 | 显示全部楼层
谢谢,确实是这样,已经改好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

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