VS2005使用MFC进行串口数据接收时出现的有关问题
VS2005使用MFC进行串口数据接收时出现的问题
小弟采用VS2005下的MFC进行串口控件处理数据接收与发送,实际应用中发现接收到的数据会有20%的几率出错。
1:下位机传输出来的数据已经验证是正确的。
2:接收方式是采用一定的命名规则来接收:
前五位字符代表是否是我需要的数据
后面的代表是数据
3:但接收进来的数据有20%左右的几率出现接收到的为不正确的值。
请问高手,碰到该类问题该从何处入手考虑?
------解决方案--------------------
修改波特率 看看 另使用bus Hound 监控下收到的数据
------解决方案--------------------
先运行上位机,打开串口,做好接收下位机的准备.然后再运行下位机.另外,上位机接收数据出错时,要能再次和下位机同步,否则就可能出现非常大的通信错误.
最好做成应答方式,就是上位机先发一个申请命令,下位机收到后就上传数据.这样比较好,不至于一次出错就需要几次才能同步.
每300毫秒发送一次数据没问题,只要数据每次发送的数据量不要太大,根据波特率算出300毫秒能最大发送多少数据,只要不超过这个最大量就行,同时算最大量时还要考虑计算机的处理时间及操作系统执行其它程序的时间
小弟采用VS2005下的MFC进行串口控件处理数据接收与发送,实际应用中发现接收到的数据会有20%的几率出错。
1:下位机传输出来的数据已经验证是正确的。
2:接收方式是采用一定的命名规则来接收:
前五位字符代表是否是我需要的数据
后面的代表是数据
3:但接收进来的数据有20%左右的几率出现接收到的为不正确的值。
请问高手,碰到该类问题该从何处入手考虑?
------解决方案--------------------
修改波特率 看看 另使用bus Hound 监控下收到的数据
------解决方案--------------------
先运行上位机,打开串口,做好接收下位机的准备.然后再运行下位机.另外,上位机接收数据出错时,要能再次和下位机同步,否则就可能出现非常大的通信错误.
最好做成应答方式,就是上位机先发一个申请命令,下位机收到后就上传数据.这样比较好,不至于一次出错就需要几次才能同步.
每300毫秒发送一次数据没问题,只要数据每次发送的数据量不要太大,根据波特率算出300毫秒能最大发送多少数据,只要不超过这个最大量就行,同时算最大量时还要考虑计算机的处理时间及操作系统执行其它程序的时间