为啥串口发数会出错?多谢!!!

[复制链接]
2626|2
 楼主| guorock 发表于 2009-7-16 17:01 | 显示全部楼层 |阅读模式
如图为PC机用串口接收到的数据。波特率为9600
数据格式为55FF+24 字节数据,但发现经常会接收错误,如图红色线所示。
想知道是PC机端接收的问题还是其他原因?
怎么解决这种问题?
quakegod 发表于 2009-7-16 23:12 | 显示全部楼层

像这种丢数据的情况

有几种可能,
最有可能的是停止位和起始位的问题。
因为接收端和发送端不是严格同步,所以有时候发送端的停止位不够长,造成接收丢失,
解决的办法是,发送端每发送一个字符后就稍微休息一下,比如将停止位从1位,改为1.5位或两位,而接收端还是按照1位来接受,这样可靠性会大大提高。
5880527 发表于 2009-7-17 10:57 | 显示全部楼层

一般是波特率不准可能造成错误

你发点有规律的数字也方便观察呀,比如连续发固定数量的11,22...FF,在结尾把当前波特率定时器的初始值一起发出来,定时器值每过固定时间加1,这样你就可以观察出哪些初始值好使,取个中间值就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

141

主题

169

帖子

1

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