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

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

[复制链接]
  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 171 天

    [LV.7]常住居民III

    116

    主题

    475

    回帖

    634

    积分

    高级会员

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

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

    使用道具 举报

  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 144 天

    [LV.7]常住居民III

    27

    主题

    1354

    回帖

    4213

    积分

    论坛元老

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

    使用道具 举报

    该用户从未签到

    20

    主题

    576

    回帖

    1199

    积分

    荣誉版主

    积分
    1199
    发表于 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 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 171 天

    [LV.7]常住居民III

    116

    主题

    475

    回帖

    634

    积分

    高级会员

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

    看你说的两句:

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-20 12:38 , Processed in 0.059666 second(s), 41 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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