#define BinToHex(n) (((n>>21)&0x80)|((n>>18)&0x40)|((n>>15)&0x20)|((n>>12)&0x10)|((n>>9)&0x08)|((n>>6)&0x04)|((n>>3)&0x02)|((n)&0x01))//请把这条宏语句写在同一行。
#define B(n) BinToHex(0x##n##)
举个例子:
原本给单片机IO赋值的语句“P0=0x37;”我们现在可以写成“P0=B(00110011);”这样很大程度上方便了我们修改IO口的状态。
今天编了个小程序测试过了,挺好用的,推荐大家使用该方法
说的明白点就是把那两条宏语句放在程序的开头,这样给单片机端口赋值的时候(因为给端口赋值往往是想给某一位赋值,用二进制的方式赋值比较直观)就不需要再自己换算成16进制的数字了,直接用B(01010011)这样的二进制代替,既比较直观方便又省去了自己换算16进制的麻烦