at24c512 I2C 驱动
时间: 2023-07-22 08:37:47 浏览: 64
AT24C512是一种I2C总线上的EEPROM芯片,以下是一个简单的AT24C512 I2C驱动的示例代码:
```
#include <Wire.h>
#define EEPROM_ADDRESS 0x50 // AT24C512的I2C地址
void setup() {
Serial.begin(9600);
Wire.begin();
}
void loop() {
// 读取数据
byte address = 0x00; // 要读取的EEPROM地址
byte data;
Wire.beginTransmission(EEPROM_ADDRESS);
Wire.write(address);
Wire.endTransmission();
Wire.requestFrom(EEPROM_ADDRESS, 1);
if (Wire.available()) {
data = Wire.read();
Serial.print("Read: ");
Serial.println(data);
}
// 写入数据
address = 0x00; // 要写入的EEPROM地址
data = 0x55; // 要写入的数据
Wire.beginTransmission(EEPROM_ADDRESS);
Wire.write(address);
Wire.write(data);
Wire.endTransmission();
delay(10);
}
```
在这个示例中,我们使用了Arduino的Wire库来控制I2C总线,首先设置了串口和Wire库,然后在循环中读取和写入数据。读取数据的过程是先发送要读取的EEPROM地址,然后请求1个字节的数据,最后读取数据。写入数据的过程是先发送要写入的EEPROM地址,然后发送要写入的数据。注意,在写入数据后需要加一个延迟,以等待EEPROM写入完成。