编写wince的底层驱动应该如果实现比较精确的uS、mS级延时呢?
比如我想一个GPIO先设为高电平,2uS后就变成低电平。
[解决办法]
用Winbase.h中的QueryPerformanceFrequency、QueryPerformanceCounter 试试看。
[解决办法]
1. WinCE 下是有 us 等的 delay function.
2. Sleep(X) 只能保最短 delay X ms, 法保一定是好是 X ms ( thread priority 有).
3. 用一 for loop 做 delay, 建在 loop 中加取 io 的程式, 它的 delay 不最佳化或是 core clock 更而改.
4. 若真是那 time critical, 建用一 hardware timer, 其成 installable isr, 在 driver 中料好, 在 iisr 中料的每 bit 送出, 待 packet 送完後再返回 sysintr, 通知 driver 的 ist 己 packet 送出完成.
5. 接收要怎做呢?? 直接拉 gpio 中好了.
Paul, Chao @ Techware
[解决办法]
[解决办法]