“与操作”的结果是0,所以应该是“或操作”。
查看更多
描述是对的如果是静态对象,那么对象类型的最高位将是 1 (二进制 1xxx xxxx)
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
“如果是静态对象,那么对象类型的最高位将是 1”,这个描述没有问题。
问题在括号中的描述“(是 RT_Object_Class_Static 与其他对象类型的与操作)”,其中的“与操作”应该改为“或操作”。
比如,动态信号量的类型RT_Object_Class_Semaphore = 0x01;
而静态信号量对象的类型应该 = RT_Object_Class_Static | RT_Object_Class_Semaphore = 0x80 | 0x01 = 0x81;
而不是RT_Object_Class_Static & RT_Object_Class_Semaphore = 0x80 & 0x01 = 0x00;
@lushidegreen
我明白你的意思了,你的意思是,设置对象为静态对象时,是或操作,这个没错的。
但是判断对象是静态对象的时候,就是与操作,上面的描述是判断行为:
如果是静态对象,那么对象类型的最高位将是 1( 对象 & RT_Object_Class_Static )
否则对象类型的最高位将是 0,就是动态对象(对象 & RT_Object_Class_Static )。或操作的话,怎么成为动态对象呢