阅读:1728回复:1
直接控制主板IO口输出方波???
最近想直接控制主板IO口搞点东西,如并口,串口,,想输出如38K (26us)的方波,或者采集38K的波形输入。 我做了以下尝试,在循环中直接读取IO的状态变化, 发现采集的不是很精确,采集到的波形变化有漏 的,也很随机。说明这种方式达不到精度。 是否可以用中断来采集?
我找了一些资料,发现有这么用句话:“win 不是一个实时系统”,所以对我的想法产生了怀疑。难道windows不能做这样的事情? 想来也是,大都是计算机和芯片通讯,芯片做采集工作。 我也在想在usb线上不接任何芯片,在pc驱动程序上直接控制usb的一根线输出方波, 是否可行? 请高手解惑这方面的疑问、。 |
|
沙发#
发布于:2010-05-10 13:48
我的采集代码如下:
ULONG mCurrStatus,mTemp; int ircount; ircount = 0; mCurrStatus = _inp(0x0379); while(1) { if(ircount == 0) { mTemp = _inp(0x0379); if (mTemp!=mCurrStatus) { KeQueryTickCount(&tm1); mCurrStatus = mTemp; ircount++; } } else { mTemp = _inp(0x0379); if (mTemp!=mCurrStatus) { KeQueryTickCount(&tm1); mCurrStatus = mTemp; ircount++; if(ircount>6000) break; }else { KeQueryTickCount(&tm2); if((tm2.QuadPart-tm1.QuadPart)>32) break; } } } |
|