【发布时间】:2017-06-09 19:40:23
【问题描述】:
我有一个问题“如何通过 elechouse 在 ESP8266 Lolin 和 SN532 之间运行 I2C 通信?”。我尝试了很多方法,但是使用elechouse librarylibrary我总是连续得到这个“找不到PN53X板”。我我正在尝试开始一个示例:基本 elechouse lib 的 ReadTag。 IDE 是 PlatformIO。
ReadTag 代码:
#include <Wire.h>
#include <PN532_I2C.h>
#include <PN532.h>
#include <NfcAdapter.h>
PN532_I2C pn532_i2c(Wire);
NfcAdapter nfc = NfcAdapter(pn532_i2c);
void setup(void) {
//Wire.begin(4, 3);
Serial.begin(9600);
Serial.println("NDEF Reader");
nfc.begin();
}
void loop(void) {
Serial.println("\nScan a NFC tag\n");
if (nfc.tagPresent())
{
NfcTag tag = nfc.read();
tag.print();
}
delay(5000);
}
我尝试用Wire.begin(4, 3); 声明SDA 和SCL,但还是不行!也许有人知道解决方案?
【问题讨论】:
-
I2C 是一种电气标准,因此您的电路可能有问题。这可能更适合 EE 组。如果尚未包含上拉电阻,您是否正确调整了上拉电阻的尺寸?您是否使用相对较短的电线?您是否在微控制器上使用正确的 I2C 功能引脚?让我们先从那里开始。
-
哪些是正确的引脚? ESP8266 Lolin 上有什么定义吗?
-
您需要查看 SCL/SDA 的文档以找到硬件模块的位置。除非您有充分的理由不这样做,否则请使用这些。如果您的 MCU 在任何引脚上支持软件 I2C,您可以使用软件 i2c 库。我不确定 Wire 是否支持这一点。您需要检查其他项目,如上拉电阻和尺寸。 I2c 仅适用于尺寸正确的上拉电阻。
-
默认 SDA 和 SCL 没有帮助!
-
那么你的电阻尺寸呢