情况是这样的, WINCE机器与另外一个连接的设备, 确保要在100~200毫秒之间,通过串口,发送几个字节的握手数据. 只要某次超过200毫秒 ,就认为超过,设备故障. 然后起动安全措施 .
正常情况下,WINCE机器是没有问题,但在播放高清影片,操作触摸屏时, 不管是用CreateTimer还是CreateThread方法,都无法保证这个TIMER和线程在200毫秒之内,每次都能被调度.
所以想用芯片的硬件定时器. 说一下WINCE 6.0 机器配置
TELECHIP ARM11 TCC8902 跑720M.
现在就是要150毫秒发握手数据,误差不能超过50ms..
拜托各位大神指点!
------解决方案--------------------
我觉得能否通过调高你这个线程的优先级来解决呢?毕竟你这个实时性要求不是太高
------解决方案--------------------
使用多媒体定时器试试,Timer 是满足不了你的要求的
------解决方案--------------------
使用CPU定时器就OK
------解决方案--------------------
当时是进中断把程序入口地址(PUSH)返回时就可以多一次了。第一次返回你压进去的地址,第2次返回正常RTI该返回的地址。我是用汇编实现的。
------解决方案--------------------
1. 除非你的BSP有 bug, 不然 1L 的解答設定 priority 絕對是可行的 (CeSetThreadPriority), 建議LZ可以先試試看將其設定為 0.

2. 因為系統中有許多 thread 在跑, 故每個 thread priority 要如何設定是一門學問, 有時你系統的穩定度就與它相關.
Paul, Chao @ Techware