找回密码
 立即注册
查看: 519|回复: 3

OSRdyTbl[y] &= (OS_PRIO)~OSTCBCur->OSTCBBitX;这句怎么理解?

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:533
  • 最近打卡:2025-06-16 07:56:12
已绑定手机

158

主题

592

回帖

1031

积分

金牌会员

积分
1031
发表于 2024-3-4 08:46:13 | 显示全部楼层 |阅读模式
OSRdyTbl[y] &= ~OSTCBCur->OSTCBBitX;//清除准备优先级中的X标记量;

那么,OSRdyTbl[y] &= (OS_PRIO)~OSTCBCur->OSTCBBitX;这句怎么理解?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:444
  • 最近打卡:2025-06-16 09:26:42
已绑定手机

39

主题

2059

回帖

7070

积分

论坛元老

积分
7070
发表于 2024-3-4 09:08:52 | 显示全部楼层
OSTCBCur->OSTCBBitX 数据取反后按照 OS_PRIO 类型进行数据格式化。
然后跟 OSRdyTbl[y] 进行与运算,运算结果保存在 OSRdyTbl[y] 里面。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:13
  • 最近打卡:2025-05-28 09:08:49

34

主题

1094

回帖

2448

积分

荣誉版主

积分
2448
发表于 2024-3-4 09:38:43 | 显示全部楼层
本帖最后由 tzz1983 于 2024-3-4 10:06 编辑

学好C,这个就很好理解

看你说的两句:
OSRdyTbl[y] &= ~OSTCBCur->OSTCBBitX;
OSRdyTbl[y] &= (OS_PRIO)~OSTCBCur->OSTCBBitX;

后面的一句加了强制转换运算 (OS_PRIO) ,别的都一样。去看OSTCBBitX的定义会发现,OSTCBBitX本来就是 (OS_PRIO) 类型, 所以这两句实际上是一样的意思。




回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:533
  • 最近打卡:2025-06-16 07:56:12
已绑定手机

158

主题

592

回帖

1031

积分

金牌会员

积分
1031
发表于 2024-3-4 10:23:53 | 显示全部楼层
本帖最后由 380091044 于 2024-3-4 10:30 编辑
tzz1*** 发表于 2024-3-4 09:38
学好C,这个就很好理解

看你说的两句:

感谢老师指点,C学的确实不好,通过go to difine查找其定义,跳转到一个地方,没有找到OS_PRIO的定义,
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-16 18:01 , Processed in 1.742102 second(s), 67 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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