怎样实时读取外部硬件I/O的状态?
各位:
现在给一个自动化设备写运动控制程序,需要实时检测一个外部物理按钮的状态(按钮状态通过硬件捕获),然后再通过硬件提供的指令读取按钮的状态即1或0;(硬件与PC间通过PCI通信)
现想实时检测这个按钮的状态,当有变化时,立刻执行另一指令(让设备停止运动),因此对时实性要求较高。
现要两种实现方法,不知能否达到要求,请各位指点?
1:在Timer事件里检测这个按钮的状态;
2:单独开一个线程,在线程中执行While(true)循环,然后在循环中检测按钮的状态。
在下能想到的只有以上两种方法,但感觉也不是太好,尤其是用Time事件那种,不知各位有更好的没有,求指点。
开发平台:XP
开发环境:VS2010
语言: C#
------解决方案--------------------Windows不是实时操作系统,所以如果你要求的精度小于50毫秒,Windows办不到,无论什么语言。
------解决方案--------------------如果硬件(象gpio 卡..)支持中断 回调会更好