- 打卡等级:初来乍到
- 打卡总天数:5
- 最近打卡:2025-04-30 07:46:22
荣誉版主
- 积分
- 2319
|
发表于 2024-2-2 14:05:53
|
显示全部楼层
本帖最后由 tzz1983 于 2024-2-2 14:22 编辑
这个警告不影响使用.
警告的翻译是: 存在不可能执行到的代码, 如下所示OS空闲任务代码, 其中 for(;;) 编绎器认为这是一个死循环, 之后的代码(隐藏的return)永远执行不到, 所以报警了.
但是这里并没有逻辑错误 , 任务函数不需要返回, 所以忽略这个报警即可.
void OS_TaskIdle (void *p_arg) large reentrant
{
#if OS_CRITICAL_METHOD == 3u /* Allocate storage for CPU status register */
OS_CPU_SR cpu_sr = 0u;
#endif
p_arg = p_arg; /* Prevent compiler warning for not using 'p_arg' */
for (;;) {
OS_ENTER_CRITICAL();
OSIdleCtr++;
OS_EXIT_CRITICAL();
OSTaskIdleHook(); /* Call user definable HOOK */
}
}
如果实在感到不爽, 那么在C51选项卡上, 降低一级警告等级就不会报警了, 当前的警告等级是最高的
|
|