进阶——第十六届蓝桥杯嵌入式熟练度练习(eeprom的读写)

在MX中开启PB6,PB7 

读函数

uint8_t eeprom_read(uint8_t addr)
{
    I2CStart();
    I2CSendByte(0xa0);
    I2CWaitAck();
	
    I2CSendByte(addr);
    I2CWaitAck();
   
	I2CStart();
	I2CSendByte(0xa1);
	I2CWaitAck();
	
    data=I2CReceiveByte();
	I2CSendNotAck();
    I2CStop();
	
	return data;
}

写函数

void eeprom_write(uint8_t addr,uint8_t data)
{
    I2CStart();
    I2CSendByte(0xa0);
    I2CWaitAck();
	
    I2CSendByte(addr);
    I2CWaitAck();
	
    I2CSendByte(data);
	I2CWaitAck();
	
    I2CStop();
	HAL_Delay(20);
}

定义

  uint8_t data;

 写入值后被读取

   I2CInit(); 
   eeprom_write(1,50);
   HAL_Delay(20);
   data = eeprom_read(1);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值