模块上电时 SPI 不工作,但在 WDT 上工作

SPI failing to work when the module it's powered on but works on WDT

硬件

硬件:ESP-12E(Node mcu like module其实是Lolin)

描述

免责声明:可以直接跳到下面的问题。

您好。我已经将 this NFC 程序设置为与 SPI 一起工作到 Lolin 模块中,但它不能立即工作。 首先,它不能与我可以接受的连接的 USB 电缆一起使用,因为它可能与 SPI 和 USB 共享相同的引脚。 发生的另一件事是,如果我保持 NFC 模块连接并按下重置按钮,它会在串行输出中显示一些垃圾,除非我从 NFC 与 ESP 模块断开连接并等待串行输出开始,否则它将无法工作"Didn't find PN53x board" 然后连接 NFC 模块并在 WDT 重置固件后无限循环中等待 WDT 重置在第 30 行,它最终找到 NFC 模块,之后一切正常,除非有人按下重置按钮(=P).

我的问题是,即使一个来自硬件而另一个来自软件,复位按钮和 WDT 复位不应该产生相同的效果吗?那么为什么通过软件代码开始工作呢?当我为模块供电时,这些 SPI 引脚(GPIO 14、12、13 和 15)是否需要处于特定状态?我怎样才能克服这个问题并始终保持 NFC 模块连接?电路板的另一侧有 SPI,我也可以使用它们吗?

GPIO15 上的硬件芯片 Select (HCS) 也称为主数据输出 (MTDO) 以及 GPIO0 和 GPIO2 与启动模式相关联,根据它们的状态,模块将从 UART 启动、闪存和SD卡。当我使用 HCS select NFC 模块时,它可能试图从 SD 卡启动,因此出现了问题。