当前位置:首页 > 单片机 > 单片机
[导读]如i=0时,tab[i]的值为0x3f,那么这句bit_dat((bit)(tab[i]&0x80));的作用是:第一步:tab[i]与0x80作位与,即0x3f与0x80作位与(与0x40相位与就是取了第6位),这样的效果是取得了0x3f的最高位(第7位),其它位全部被

如i=0时,tab[i]的值为0x3f,那么这句bit_dat((bit)(tab[i]&0x80));的作用是:

第一步:tab[i]与0x80作位与,即0x3f与0x80作位与(与0x40相位与就是取了第6位),这样的效果是取得了0x3f的最高位(第7位),其它位全部被屏蔽为0

第二步:作int向bit强制转换,向bit转换有一个规则,只要待转换前变量是非零,转换后的bit类型变量即为1,否则为0,这里,0x3f&0x80的结果为0,也就是((bit)(tab[i]&0x80))的结果为0

第三步:调用bit_dat函数,向外设写入这一位。

后面的(bit_dat((bit)(tab[i]&0x40))句子就是取次高位,后面的依此类推,就可以从高位取到低位了。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭