ffxz 发表于 2010-4-14 08:47:02

RT-Thread调度表中的rt_lowest_bitmap[]意义

它的意义就是取0 - 255中,第一个1位的数

例如,数组的下标是8,那么8的最低位1出现在第3个 (8的二进制是1000)

>> 一点不通8:44:12
>> 0,没有1,所以rt_lowest_bitmap不能算0,是这样不?

因为实际取的数组下标是,
1 << priority
所以priority = 0,那么得出来的也是1,所以返回0

(1,不是第0位是1么,所以返回0)

luxinsun 发表于 2010-4-14 20:01:38

看不懂。

john_8 发表于 2010-4-15 11:10:07

哈哈,我看懂了
比如心在的数字为(偏移量为0开始)
1 0000 0001最低为1的位置位0
2 0000 0010最低为1的位置位1
3 0000 0011最低为1的位置位0
4 0000 0100最低为1的位置位2
5 0000 0101最低为1的位置位0
6 0000 0110最低为1的位置位1
7 0000 0111最低为1的位置位0
8 0000 1000最低为1的位置位3
..    .
..    .
把这些位置值变成一个常量数组,就成了rt_lowest_bitmap[]值了

编辑了下
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_546536.JPG
编辑图像说明 (原文件名:weizhi.JPG)
页: [1]
查看完整版本: RT-Thread调度表中的rt_lowest_bitmap[]意义