我有4个引脚值定义P1_1,P1_2,P1_3,P1_4,带有位值.(1/0)
我想将它们组合成一个字节值,例如:
0000 0101(3 LSB为引脚)
我怎样才能做到这一点?
就像是
value = (P1_1<<3)|(P1_2<<2)|(P1_3<<1)|(P1_4);
Run Code Online (Sandbox Code Playgroud)
免责声明:这是一个非常丑陋的例子.在您的实际代码中,您可能需要为shift定义某种常量(因此您可以在不使用更多魔术文字值的情况下执行反向操作).
另请注意,如果P常量之一不是0或1,则会产生意外结果.在这种情况下,可能会使用!! P1_x而不是P1_x.
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |