欢迎光临
我们一直在努力

蓝桥杯嵌入式-EEPROM

本篇文章是在蓝桥杯嵌入式-按键完整的项目下补充完成的。如果需要代码,直接看第四部分的下载链接。

一、STM32CubMX配置

注:因为赛点资源包提供了I2C库相关的内容,其中包含了EEPROM所需要配置的引脚内容,因此不用进行STM32CubMX配置。

1.1 资源包相关内容引用

在这里插入图片描述 在这里插入图片描述

二、keil5配置

2.1 添加I2C库

在这里插入图片描述

2.2 main.c

2.2.1 修改位置

在这里插入图片描述

2.2.2 对应代码

I2CInit();

2.3 task.h

2.3.1 修改位置

在这里插入图片描述

2.3.2 对应代码

#include "i2c_hal.h"

2.4 i2c_hal.c

2.4.1 修改位置

在这里插入图片描述

2.4.2 对应代码

/* EEPROM写入函数 */
void eeprom_write(uint8_t*EEPROM_String,uint8_t addr,uint8_t num)
{
I2CStart();
I2CSendByte(0xa0);
I2CSendAck();
I2CSendByte(addr);
I2CSendAck();

while(num)
{
I2CSendByte(*EEPROM_String++);
I2CSendAck();
delay1(200);
}
I2CStop();
HAL_Delay(5);
}

/* EERPROM读取函数 */
void eeprom_read(uint8_t*EEPROM_String,uint8_t addr,uint8_t num)
{
I2CStart();
I2CSendByte(0xa0);
I2CSendAck();
I2CSendByte(addr);
I2CSendAck();

I2CStart();
I2CSendByte(0xa1);
I2CSendAck();
while(num)
{
*EEPROM_String++ = I2CReceiveByte();
if(num)
I2CSendAck();
else
I2CSendNotAck();
}
I2CStop();
}

2.5 i2c_hal.h

2.5.1 修改位置

在这里插入图片描述

2.5.2 对应代码

void eeprom_write(uint8_t*EEPROM_String,uint8_t addr,uint8_t num);
void eeprom_read(uint8_t*EEPROM_String,uint8_t addr,uint8_t num);

三、其他

3.1 完整代码下载

资料下载:https://pan.quark.cn/s/08f8e6116512

赞(0)
未经允许不得转载:171主机测评 » 蓝桥杯嵌入式-EEPROM
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址