硬汉嵌入式论坛

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

[RL-RTX] (RTX)咨询下关于事件标志组的用法。

[复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2021-2-4 13:07:57 | 显示全部楼层 |阅读模式
本帖最后由 bear115 于 2021-2-4 13:10 编辑

咨询各位大佬一个问题,我在主函数里开了个任务专门处理各种中断,就是说我在中断中只进行置位事件,然后具体的函数是写在主函数的这个任务中的。
现在有个问题想要咨询下,如果中断A置位了他对应的事件,此时主函数中这个任务在进行中断A对应执行的程序,如果在程序执行完成前,中断B发生了,又置位了他对应的事件,那么当中断A对应的执行函数结束后,还会接着执行中断B对应的函数么?还是会错过去?

微信图片_20210204130529.png
回复

使用道具 举报

3

主题

432

回帖

441

积分

高级会员

积分
441
发表于 2021-2-4 14:44:30 | 显示全部楼层
不要用switch-case,因为这些标志可以组合。应该这样
if(xResult & XXX_FLAG_1){
  ...
}else if(xResult & XXX_FLAG_2){
  ...
}if(xResult & XXX_FLAG_3){
  ...
}
...
回复

使用道具 举报

3

主题

432

回帖

441

积分

高级会员

积分
441
发表于 2021-2-4 14:47:46 | 显示全部楼层
纠正,应该用这种结构:
if(xResult & FLAG1){
...
}
if(xResult & FLAG2){
...
}
if(xResult & FLAG3){
...
}
也就是连esle都不用
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2021-2-4 15:39:46 | 显示全部楼层
glory 发表于 2021-2-4 14:47
纠正,应该用这种结构:
if(xResult & FLAG1){
...

如果我用switch,case,每个csae都不用break结尾,是不是和这样if效果一样?
回复

使用道具 举报

3

主题

432

回帖

441

积分

高级会员

积分
441
发表于 2021-2-4 20:24:53 | 显示全部楼层
bear115 发表于 2021-2-4 15:39
如果我用switch,case,每个csae都不用break结尾,是不是和这样if效果一样?

不一样
回复

使用道具 举报

14

主题

238

回帖

280

积分

高级会员

积分
280
发表于 2021-2-7 13:54:45 | 显示全部楼层

会因为任务处理不及时,导致中断标志获取后,不在case分支里面?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-12 00:39 , Processed in 0.041121 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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