【蓝桥杯嵌入式】IIC通信读写EEPROM

一、导入官方软件IIC程序:

解释:CubeMX可以不用配置,使用软件IIC进行通信,在官方程序中,I2CInit()含有配置引脚的操作。

二、代码部分:

为方便操作,直接在i2c_hal.c中写EEPROM操作函数

EEPROM读操作:

uint8_t EEPROM_read(uint8_t addr){
	//修改指针位置
	uint8_t data = 0;
	I2CStart();
	I2CSendByte(0xA0);
	I2CWaitAck();
	I2CSendByte(addr);
	I2CWaitAck();
	I2CStop();
	
	I2CStart();
	I2CSendByte(0xA1);
	I2CWaitAck();
	data = I2CReceiveByte();
	I2CSendNotAck();
	I2CStop();
	return data;
}

EEPROM写操作:

uint8_t EEPROM_write(uint8_t addr, uint8_t data){
	I2CStart();
	I2CSendByte(0xA0);
	I2CWaitAck();
	I2CSendByte(addr);
	I2CWaitAck();
	I2CSendByte(data);
	I2CWaitAck();
	I2CStop();
	HAL_Delay(5);
}

写完代码后,在i2c_hal.h中声明

注意:AT24C02存储空间为256字节addr取值为0x00~0xFF。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值