关于串口接收数据(急)
采用波特率9600接收数据上没有问题
如果采用波特率2400接收数据就会有接收不全的情况,采用1200接收就更糟了,我本以为是接收超时不够长,我加长了也不行,不知道有什么方法。谢谢
注:我接收的字节数有1500多
问题点数:50、回复次数:5Top
1 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-16 11:09:22 得分 20
两边的波特率要保持一致,就算不一致也不能相差太大,串口收数据一般是从一个bit的中间开始收,相差大的话会累加起来,等到错半个bit的时候后面所有数据都错了。Top
2 楼imho888()回复于 2006-03-16 12:01:28 得分 0
忘记说了,发送和接收两边的波特率上一样的,包括数据位,奇偶校验,停止位都是一样的。Top
3 楼timerondraw(solo)回复于 2006-03-16 12:15:40 得分 20
不要校验。自已在数据包加上头和尾。
我将尾处理成所有位的异或值。
让上位机不断地重复发送数据,直到自己验收合格。
笨办法,但还算有效。不妨一试。Top
4 楼bluz()回复于 2006-03-16 12:34:36 得分 10
启用流控制Top
5 楼imho888()回复于 2006-03-16 15:19:06 得分 0
问题找到了,气死人了,我用的那个串口工具控制了发送缓存。Top




