使用的是致远的M3352开发板,想使用GPIO做PWM的输出。
用WINCE的定时器定时10us,然后GPIO输出。
创建了一个单独的工作线程,优先级都已经是最高的了
如:
while (!g_ExitThreadFreq)
{
epcIoSetAPin(1, 1);
//delay();
epcIoSetAPin(1, 0);
//delay();
}
epcIoSetAPin()是设置某个GPIO为高低电平。
结果悲剧啦,示波器显示每隔十几毫秒有几毫秒IO口就不会做任何动作= =

求问大神怎么解决这个问题
------解决思路----------------------
还是硬件中断里面全做吧
------解决思路----------------------
你在循环里面死命拉高拉低是要干什么?抢资源啊??
这版子不带PWM吗?为啥不直接用。
------解决思路----------------------
线程定时会不准确、会被其他中断源中断
一贯认为,有时间要求的控制或者功能不要使用多线程,除非功能的实现仅仅限于启动、关闭等简单的操作