转: 让你的Win32 程序享受到实时控制的好处
这也就是说不用更改 W32 程序构架,也能享受到实时控制。
那么首先说说 Win32 程序的一些缺 陷,即为什么要在Win32 程序上加上实时控制。
第一是 Win32 系统它没有一个很准确的时钟触发信号,也就是说Sleep(1)很不准确,这个我
会在下一篇”说说Sleep(1)”会详细介绍。
第二个 Win32 程序是用户模式下的程序,要与硬件沟通必须得透过相应的驱动来实现,且
这个不透明的,限制性的。这样就可能造成信号不能及时送出和接收,还有Windows 在用
户模式下没有直接提供的中断函数接口,对工控软件来说是致命的,且功能受受限制,Debug
也很困难。
我这里介绍的 RTX 实时平台,是基于RTX runtime 的,它透过驱动程序,直接从用户模式
跳到内核模式,从Ring3 转到Ring0, 直接与HAL(硬件抽象层)**。一方面,通过这个平
台你可以享受到实时RTX 带来的好处,另一方面,他可以让你不必要改动现有W32 程序的
构架,直接就可以享受到实时的好处。
Win32 程序实现实时功能
该平台提供一个动态链接库(LinkControl.dll)来实现Win32 程序和RTX 实时平台的连接。
只有在你的 Win32 程序里嵌入该动态链接库就可以实现了。
这个东西对mach3的稳定有帮助吗? |