标题: 单片机RS485通信丢字符,丢了头个字节数据,求指导 [打印本页]

作者: 温柔的郎    时间: 2022-1-30 15:17
标题: 单片机RS485通信丢字符,丢了头个字节数据,求指导
各位大神,我在学习STC8A8K64S4A12单片机的RS485通信时,用串口助手发送数字2,会返回设定的字符chenggong,结果只返回了henggong,少了个首字母c,
换成设定返回FIYU后,返回还是少个头字母F,返回是IYU,这是啥情况啊,有返回,说明通信正确率,但却丢了头个字母,
请有知道的大神指点指点!!感谢!!
单片机用的是串口2
截图如下


源程序如下

15 串口2 及485功能.rar

47.5 KB, 下载次数: 14


作者: lkc8210    时间: 2022-1-30 16:23
选择Hex模式
看看是完全收不到第一个字还是收到乱码没有显示
m485=1;后加个延时看看
作者: TEC    时间: 2022-1-30 18:04
你这个情况好像是发送字符串之前TI位被置1了,所以第一个字符没发出去,后面发送字符之前,TI位都是0,能够顺利发送。但是程序上有看不出来哪里先把TI位给置1了,可以在U2SendString("chenggong\r\n");这一句前面加一句S2CON&=~S2TI;发送前先把TI置0,供参考。
作者: ningning191921    时间: 2022-1-30 19:36
检查一下波特率及一些串口设置是否正确
作者: 小猫电子    时间: 2022-1-30 22:23
485使能后做个短暂延时
作者: 温柔的郎    时间: 2022-1-31 12:46
找到了,连续2个发送模式,去掉第2个发送模式。接收就正常了,看来是第2个发送模式影响的




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1