新手求教uCOS设置primask可屏蔽中断的问题
在uCOS初始化时,调用了 BSP_IntDisAll(); /* Disable all Interrupts. */这句话是设置了primask位,即是关闭了可屏蔽中断。
为什么要这样做啊?我去掉了这句话后,lwip确实就不正常了。
各位大神啊,怎么没人回? 功能描述
PRIMASK
只有单一比特的寄存器。置为1后,就关掉所有可屏蔽异常,只剩下NMI和硬Fault可以响应。默认值是0,表示没有关闭中断。 我想问问楼主是在什么样的项目中使用UCOS的。现在刚刚入门STM32,使用此芯片做了几个小项目。不知道UCOS是在什么量级的项目中应用。我使用的是F105 anywill 发表于 2016-10-12 08:32
功能描述
PRIMASK
只有单一比特的寄存器。置为1后,就关掉所有可屏蔽异常,只剩下NMI和硬Fault可以响应。默 ...
是这样的,我在学习ucOS+lwip,在别人的代码里,ucOS启动任务前将PRIMASK置位关了中断,但是后面一直没有找到开中断的地方,那么SysTick中断也应该被关了。但是lwip任务还是能够正常运行,去掉关中断那句话反而不行了。后来就把这个问题搁那儿了。 lvyunzeng 发表于 2016-10-12 09:20
我想问问楼主是在什么样的项目中使用UCOS的。现在刚刚入门STM32,使用此芯片做了几个小项目。不知道UCOS是 ...
我也只是在自学,没有上过项目。stm32给的示例代码里,实时操作系统都用FreeRTOS lvyunzeng 发表于 2016-10-12 09:20
我想问问楼主是在什么样的项目中使用UCOS的。现在刚刚入门STM32,使用此芯片做了几个小项目。不知道UCOS是 ...
趁早改行
页:
[1]