莲子 当前离线
注册会员
请教一个问题?
从下位机每八个毫秒接受一个数据,放在一个二位数组中,我是在一个FOR循环中用一位寄存器来显示所有数据,但是延时很长,一眼就开出来和接受的数据不同步,具体该怎样处理才能实时显示这些数据?
订阅 TOP
chenchao8848 当前离线
版主
论坛元老
你使用的是什么接口进行通讯
采用串口或者USB口的话,这样的方案是不行的,
因为windows的实时性作不到8ms的,他的定时误差在5ms左右
你可以采用硬件缓冲器来缓解一下
就是你把下位机的数据先存在下位机上,等到一定数量时一次性发过来,使用两个buffer切换使用就可以了
TOP
我使用的是CAN现场总线:
下位机(DSP内嵌CAN控制器)进行数据采集,并通过CAN总线发送到上位机进行实时显示
上、下位机之间用串口转并口的装置:广州周立功的CANmini转换器接至PC机的并口
一样的
解决方法如上.
建议不要进行单点数据的传输,采用批量数据的传输才可以从根本上解决你的问题
除非你使用实时单任务操作系统