Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino 如何在ESP8266和SN532之间运行I2C通信?_Arduino_Esp8266 - Fatal编程技术网

Arduino 如何在ESP8266和SN532之间运行I2C通信?

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

我有一个问题“如何通过elechouse在ESP8266 Lolin和SN532之间运行I2C通信?”。我尝试了很多方法,但使用elechouse库我总是在序列中得到这个“没有找到PN53X板”。我和我正试图开始一个例子:基本elechouse lib的ReadTag。IDE是平台化的

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);
}
#包括
#包括
#包括
#包括
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没有帮助!那么你的电阻器尺寸呢