我试图从一个结构中获取一个16位无符号整数,屏蔽它的前8位,并将其用作数组的索引,函数analogWrite将Arduino上的输出pin和输出字节作为参数所讨论的代码如下:analogWrite(outputPin, my_array[myStructure->data & 0xFF00 >> 8]);
不幸的是,这段代码不起作用我总是得到零作为输出有什么想法吗?

最佳答案

Operator precedence
这:

myStructure->data & 0xFF00 >> 8

相当于:
myStructure->data & (0xFF00 >> 8)

但你想:
(myStructure->data & 0xFF00) >> 8

关于c - 位屏蔽数组的索引,Arduino环境,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1141959/

10-08 21:23