|
本帖最后由 borrow1988 于 2018-6-5 13:59 编辑
if (err == OS_ERR_NONE) {
if (OSRunning == OS_TRUE) { /* Find HPT if multitasking has started */
OS_Sched();
}
移植UCOS2.8版本,出现不进调度函数的问题,一般怎么解决
不好意思,弄错了,关闭此贴
PS: 发现个问题
void AppLedTask(void *para)
{
while(1)
{
GPIO_ToggleBits(GPIOA, GPIO_Pin_4); (1)
OSTimeDlyHMSM(0, 0, 0, 200);
GPIO_ToggleBits(GPIOA, GPIO_Pin_5); (2)
}
}
在1,2分别打断点,全速执行,每次都停到2处,1断点没停过,此时程序不进入OS_IDLE这个任务,实验效果1,2灯都亮灭(明明没执行1语句,不知道为啥1的灯还会正常效果),如果删除2语句,
程序进入OS_IDLE,但是效果正常(1的灯亮灭),不知道是不是编译器问题。。。。
而且,把1,2放在延时函数上面,还是进入IDLE,试验效果还是正常,真不知道为啥。。。。
PS: 找到问题了,NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); 这个之前没加,导致上述问题,经验啊...
|
|