硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2279|回复: 6
收起左侧

[其它] 中断屏蔽

[复制链接]

20

主题

72

回帖

132

积分

初级会员

积分
132
发表于 2019-6-13 18:05:03 | 显示全部楼层 |阅读模式
程序的顺序是,在main函数开始先__set_PRIMASK(1);
然后初始化串口,
最后vTaskStartScheduler();


发现初始化串口之后就会进串口中断,也试了__disable_irq(); 屏蔽中断,效果一样的,都是会在系统调度开始之前进串口中断,然后由于串口中断中调用了队列相关的函数,导致程序错误


虽然后来加个标志位解决了这个问题,但是没有搞明白为什么中断屏蔽不住



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2019-6-14 08:41:14 | 显示全部楼层
QQ截图20190614083936.jpg
回复

使用道具 举报

20

主题

72

回帖

132

积分

初级会员

积分
132
 楼主| 发表于 2019-6-14 09:11:07 | 显示全部楼层
我就是在这个工程基础上改的,在任务调度开始之前,哪里会调用这个cpsie i吗,我没有主动开启过全局中断
QQ截图20190614090645.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2019-6-14 09:18:49 | 显示全部楼层
502398542 发表于 2019-6-14 09:11
我就是在这个工程基础上改的,在任务调度开始之前,哪里会调用这个cpsie i吗,我没有主动开启过全局中断

二楼红色方框的字,读一遍。
回复

使用道具 举报

20

主题

72

回帖

132

积分

初级会员

积分
132
 楼主| 发表于 2019-6-14 09:39:07 | 显示全部楼层
原来是这样,建议禁止全局中断,但例程里是开启全局中断,红框里的意思是不是,如果我禁止里全局中断,任务开始调度的时候会自动开启全局中断?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2019-6-14 10:46:23 | 显示全部楼层
502398542 发表于 2019-6-14 09:39
原来是这样,建议禁止全局中断,但例程里是开启全局中断,红框里的意思是不是,如果我禁止里全局中断,任务 ...

对,FreeRTOS的port文件里面的那个函数会将其开启。
回复

使用道具 举报

20

主题

72

回帖

132

积分

初级会员

积分
132
 楼主| 发表于 2019-6-14 15:22:34 | 显示全部楼层
多谢,是我看的不仔细
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 05:20 , Processed in 0.230285 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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