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