在ESP8266上写SPI的行为很奇怪

时间:2018-06-07 10:25:35

标签: spi arduino-esp8266

我在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的值是相同的。

任何想法都会受到欢迎。感谢。

0 个答案:

没有答案