找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1655|回复: 5
收起左侧

单片机RS485通信丢字符,丢了头个字节数据,求指导

[复制链接]
ID:476652 发表于 2022-1-30 15:17 | 显示全部楼层 |阅读模式
各位大神,我在学习STC8A8K64S4A12单片机的RS485通信时,用串口助手发送数字2,会返回设定的字符chenggong,结果只返回了henggong,少了个首字母c,
换成设定返回FIYU后,返回还是少个头字母F,返回是IYU,这是啥情况啊,有返回,说明通信正确率,但却丢了头个字母,
请有知道的大神指点指点!!感谢!!
单片机用的是串口2
截图如下
51hei截图_20220130150730.png

源程序如下

15 串口2 及485功能.rar

47.5 KB, 下载次数: 14

回复

使用道具 举报

ID:161164 发表于 2022-1-30 16:23 | 显示全部楼层
选择Hex模式
看看是完全收不到第一个字还是收到乱码没有显示
m485=1;后加个延时看看
回复

使用道具 举报

ID:625730 发表于 2022-1-30 18:04 | 显示全部楼层
你这个情况好像是发送字符串之前TI位被置1了,所以第一个字符没发出去,后面发送字符之前,TI位都是0,能够顺利发送。但是程序上有看不出来哪里先把TI位给置1了,可以在U2SendString("chenggong\r\n");这一句前面加一句S2CON&=~S2TI;发送前先把TI置0,供参考。
回复

使用道具 举报

ID:796928 发表于 2022-1-30 19:36 | 显示全部楼层
检查一下波特率及一些串口设置是否正确
回复

使用道具 举报

ID:883698 发表于 2022-1-30 22:23 | 显示全部楼层
485使能后做个短暂延时
回复

使用道具 举报

ID:476652 发表于 2022-1-31 12:46 | 显示全部楼层
找到了,连续2个发送模式,去掉第2个发送模式。接收就正常了,看来是第2个发送模式影响的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表