读书人

wince6.0上实现2us一次的定时中断并进

发布时间: 2013-01-08 14:02:13 作者: rapoo

wince6.0下实现2us一次的定时中断并进行中断处理
需要怎么做啊?大致说个思路也行!抓狂死了!
[解决办法]
可以用gpio模拟PWM产生你需要的方波,使用PWM定时器产生定时中断,然后在IRQ中进行电平翻转,定时器的开关可以在驱动或应用层中控制。这样就可以随时控制你的方波产生,具体能产生多少Hz或KHz的方波,要看你使用的定时器和精确度
[解决办法]
100Hz = 10mS
10mS / 100 = 100 uS, 所以 LZ 要的是 100 uS 一次中.

1. 用 CPU 建 PWM controller 做, 都不用生 interrupt, 系 overhead 最小, 故最佳解.
2. 用 CPU 置 H/W timer 做, H->L 的生一次 interrupt, L->H again, 故一秒 100Hz * 2 = 200 次 interrupt, 需修改 OEMInterruptHandler, WinCE6 可付.
3. 用 CPU 置 H/W timer 做, 每 100uS 生一次 interrupt, 判 dutycycle 到切 GPIO,
需修改 OEMInterruptHandler.
4. 每 2uS 生一次 interrupt??? 系可能跟在跑一.

Paul, Chao @ Techware

读书人网 >WinCE

热点推荐