这些命令正在使用什么转换-16的倍数?

时间:2018-10-04 14:39:26

标签: electronics

我正在控制一个具有16个输出的板,该板分为两组#1:1-8,#2:9-16。

命令的第一部分是组[1,...]或[2,...]

第二部分是输出,因此在有限的示例中,我显示[1,1,...]将打开[group 1,channel 1,....]-到目前为止效果很好。 / p>

下一个示例是输出8:[1,128,...]

下一个示例是输出1和8:[1,129,...]

此转换称为什么?我假设输出映射如下,这是正确的:

  • 输出1(或9):1
  • 输出2(或10):16
  • 输出3(或11):32
  • ...
  • 输出8(或16):128

因此,如果我想要输出2和3,则命令为[1,48]?

2 个答案:

答案 0 :(得分:0)

您正在使用位。 10000000表示打开输出8。10000000(二进制)表示128(十进制)。如果您希望输出7,则可以执行1000000,即十进制的64。大多数编程语言都会允许您执行0x01001100之类的操作来打开7,4和3。例如,使用二进制代码更容易。

答案 1 :(得分:0)

您可以找到设置1输出的值的通用公式为:

second_part = 2^(output_to_set - 1)

对于多个输出,您只需要添加它们即可。

因此,如果要设置,将输出2和3:

second_part = 2^1 + 2^2 = 6