Arduino 如何在ESP8266和SN532之间运行I2C通信?
我有一个问题“如何通过elechouse在ESP8266 Lolin和SN532之间运行I2C通信?”。我尝试了很多方法,但使用elechouse库我总是在序列中得到这个“没有找到PN53X板”。我和我正试图开始一个例子:基本elechouse lib的ReadTag。IDE是平台化的 ReadTag的代码:Arduino 如何在ESP8266和SN532之间运行I2C通信?,arduino,esp8266,Arduino,Esp8266,我有一个问题“如何通过elechouse在ESP8266 Lolin和SN532之间运行I2C通信?”。我尝试了很多方法,但使用elechouse库我总是在序列中得到这个“没有找到PN53X板”。我和我正试图开始一个例子:基本elechouse lib的ReadTag。IDE是平台化的 ReadTag的代码: #include <Wire.h> #include <PN532_I2C.h> #include <PN532.h> #include <Nfc
#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);
}
#包括
#包括
#包括
#包括
PN532_I2C PN532_I2C(导线);
NfcAdapter nfc=NfcAdapter(pn532_i2c);
作废设置(作废){
//连线。开始(4,3);
Serial.begin(9600);
Serial.println(“NDEF阅读器”);
begin();
}
无效循环(无效){
Serial.println(“\n扫描NFC标记\n”);
if(nfc.tagPresent())
{
NfcTag tag=nfc.read();
tag.print();
}
延迟(5000);
}
我试图用
Wire.begin(4,3)声明SDA和SCL代码>,但仍然不起作用!也许有人知道解决方案?该模块有一个板载电压调节器,根据需要在I2C模式下使用5V逻辑电平。
SPI和HSA(高速UART)模式使用3.3V作为逻辑电平。I2C是电气标准,因此您的电路可能有问题。这可能更适合EE组。如果还未包括上拉电阻器,您是否正确调整了其尺寸?你使用的是相对较短的电线吗?您在micro上使用的I2C功能引脚是否正确?让我们先从这里开始。哪个针是正确的?ESP8266 Lolin上定义了什么吗?您需要检查SCL/SDA的文档以找到硬件模块的位置。除非你有充分的理由不这样做,否则就用那些。如果MCU在任何引脚上支持软件I2C,则可以使用软件I2C库。我不确定电线是否支持这一点。您需要检查其他项目,如pulllup电阻器和尺寸。I2c仅适用于大小正确的上拉电阻器。默认SDA和SCL没有帮助!那么你的电阻器尺寸呢