我在ESP8266上使用SPI来控制595移位寄存器。它工作得很好。 然后我决定为SPI编写包装类并手动移出。 现在我坚持使用SPI.write16忽略了我传递的任何东西,除非它是一个常量。
这有效:(正确的LED打开/关闭)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="container"></div>
这不起作用:(由移位寄存器管理的LED全部关闭)
uint16_t d = 0xE;
DEBUG_PRINT("[shr_spi:write] data=%X\n",d);
digitalWrite(shoLatchPin, LOW);
SPI.write16(d);
digitalWrite(shoLatchPin, HIGH);
在这两种情况下,DEBUG_PRINT行显示“data = 0xE”,所以我很确定传递给SPI.write16的值是相同的。
任何想法都会受到欢迎。感谢。