wrtnode^7 Arduino IDE I2C疑問

目前使用Arduino的Wire發現Read的一些問題
會一直失敗,後來發現Wire.endTransmission(false)會一直Return 4
0:success
1:data too long to fit in transmit buffer
2:received NACK on transmit of address
3:received NACK on transmit of data
4:other error
一直搞不清楚是哪裡有問題
希望能協助解決,這Code在MEGA2560能夠運作

i2c10.JPG



#include <Wire.h>

void setup()
{
   Wire.begin();
   Wire.setClock(50000L);
   Serial.begin(9600);
}

uint8_t address = 0x0A;
uint8_t reg = 0x01;
uint8_t numBtyes = 2;
uint8_t R_code = 0;
uint8_t Buffer[64];

void loop()
{
   int i = 0;
   Wire.beginTransmission(address);
   Wire.write(reg);
   Serial.print(Wire.endTransmission(false));
   delay(1);
   Wire.requestFrom(address, numBtyes );
   while(Wire.available())
   {
      Wire.read();
      i++;
   }
   delay(1000);
}
已邀请:

xzmu - 10w

赞同来自:

使用97自带的sdk而不是arduino的sdk来编译读取i2c返回什么错误?是否有用过示波器测试波形?

要回复问题请先登录注册