嵌入式项目实战之EEPROM读写(示例:STM8S GPIO模拟IIC读写EEPROM)
项目MCU使用STM8S005芯片,eeprom芯片使用HK24C32。实现了eeprom单字节读写,页读和多字节读的功能。(代码中,虽然包括了页写,多字节写的功能。但经过测试该模块还是有问题,这点需要注意)。
驱动主要有3个文件如下
- qs_gpio_iic.c为I2C通信驱动文件
- qs_gpio_at24cxx.c为eeprom驱动文件
- qs_eeprom.c为驱动封装文件
一。I2C通信驱动头文件qs_gpio_iic.h
#ifndef QS_GPIO_IIC_H_
#define QS_GPIO_IIC_H_
#include "stm8s.h"
enum I2CStatus {
I2C_OK = 0,
I2C_ERROR_ACK = -1,
I2C_ERROR_TIMEOUT = -2,
I2C_ERROR_CHECKSUM = -3
};
#define I2C_DELAY 1
#define usleep(a) delay_u