dy22511825 发表于 2018-6-5 13:24:11

F407+UCOS2.9.2问题

本帖最后由 dy22511825 于 2018-6-5 15:03 编辑

... 发现个问题
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,试验效果还是正常,真不知道为啥。。。。

解决方法: NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

正点原子 发表于 2018-6-6 00:53:28

是不是开优化了?优化设置为-O0试试。

dy22511825 发表于 2018-6-6 09:44:10

正点原子 发表于 2018-6-6 00:53
是不是开优化了?优化设置为-O0试试。

没配置中断组,即没加NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
页: [1]
查看完整版本: F407+UCOS2.9.2问题