野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14791|回复: 3

请教火哥关于ucOSIII中中断的问题

[复制链接]
发表于 2016-8-26 20:38:37 | 显示全部楼层 |阅读模式
本帖最后由 LiuMC 于 2016-8-29 19:59 编辑

在学习火哥关于uCOSIII代码的时候,

int main(void)
{
        OS_ERR   err;
#if (CPU_CFG_NAME_EN == DEF_ENABLED)
        CPU_ERR  cpu_err;
#endif                 
        Mem_Init();                                                 /* Initialize Memory Managment Module                   */
        Math_Init();                                                /* Initialize Mathematical Module                       */
#if (CPU_CFG_NAME_EN == DEF_ENABLED)
        CPU_NameSet((CPU_CHAR *)"STM32F429II",
                                                        (CPU_ERR  *)&cpu_err);
#endif
        BSP_IntDisAll();                                            /* Disable all Interrupts.                              */

        OSInit(&err);                                               /* Init uC/OS-III.                                      */
        App_OS_SetAllHooks();

在main中,有句      BSP_IntDisAll();       代码是设置了primask位,应该关闭了所有的可屏蔽中断,我一直没找到开中断的代码,但是时基中断又能够正常执行。
而且在lwip代码里面,如果注释掉这句话,以太网无法正常工作的,火哥能帮忙解答一下吗?谢谢
回复

使用道具 举报

 楼主| 发表于 2016-8-26 20:39:07 | 显示全部楼层
uCOS代码,打错了
回复 支持 反对

使用道具 举报

发表于 2016-8-27 09:26:33 | 显示全部楼层
可以尝试下,看看其它中断是否被关闭,ucos是systick的,可能systick没有关
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-28 22:32:25 | 显示全部楼层
东门安芙 发表于 2016-8-27 09:26
可以尝试下,看看其它中断是否被关闭,ucos是systick的,可能systick没有关

systick应该是可屏蔽中断而不是硬fault,关键是如果注释掉 BSP_IntDisAll()那句,lwip就貌似不正常。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-12 18:43 , Processed in 0.048819 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表