实验名称— E2PROM读写实验
实验说明
实验目的:掌握芯片内部E2PROM的使用方法。
(注意:因为是按照‘字’的方式写入的,所以写入的地址必须是‘4’的整数倍,否则会进入hard fault)
实验现象:下载程序,PC端打开串口助手,选择USB线的端口,波特率为115200,无校验,停止位为1位,HEX模式接收。每次RESET按键后,串口助手会接收到设备复位次数。
STM32CubeMX配置
引脚分配
PA2引脚:USART2_TX
PA3引脚:USART2_RX
PA2、3引脚配置
GPIO模式:复用推挽
GPIO上拉电阻/下拉电阻:不上拉电阻/下拉电阻
输出速度:非常快
时钟频率:4.194MHz
填写工程名称,保存路径,IDE为MDK-ARM V5等信息
Keil5程序编写
函数分析
int main(void)
{
uint32_t count[3] = {0};
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART2_UART_Init();
EEPROM_Read(4, count, 1); //在EEPROM 地址4上读取数据
count[0]++;
HAL_FLASHEx_DATAEEPROM_Unlock();
HAL_FLASHEx_DATAEEPROM_Program(FLASH_TYPEPROGRAMDATA_WORD, DATA_EEPROM_BASE + 4, count[0]); // 在EEPROM 地址4上写入count的值。
HAL_UART_Transmit(&huart2,(uint8_t *)count,1,500);
while (1)
{
}
}