找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4718|回复: 3
打印 上一主题 下一主题
收起左侧

阅读ucosii学到的技巧

[复制链接]
跳转到指定楼层
楼主
ID:94349 发表于 2015-11-2 12:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
阅读ucosii的代码,发现了一个小技巧。就是在使得任务进入就绪状态的时候,有:
OSRdyGrp|=OSMapTbl[prio>>3];
OSRdyTbl[prio>>3]|=OSMapTbl[prio&0x07];
这样两行,其实>>3就是除以8,而&0x07就是 取模运算 mod 8 或者 % 8.
后一个技巧是我新学到的。任何取模运算,只要是2的整数幂,都可以用这个技巧。比如,对8取模运算,就是 位与 &0x7。
对4运算则是,&0x3。 其实说白了,就是192,去除19剩余2,就是对10取模,去除1剩余92就是对100取模。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:305599 发表于 2018-6-14 17:38 | 只看该作者
看了文章后,对学习有帮助
回复

使用道具 举报

板凳
ID:123429 发表于 2018-6-20 17:58 | 只看该作者
可能是 你有一个函数可能会被主函数和一个中断服务程序(或者调用中断服务程序的函数)同时调用,或者同时被多个中断服务程序调用,发生重入了
回复

使用道具 举报

地板
ID:457297 发表于 2019-1-2 09:31 | 只看该作者
这个技巧不错,比除法运算快呀,谢谢
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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