嵌入式项目实战之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_us(a)
void qs_gpio_iic_init(void);
void qs_gpio_i2c_start() ;
void qs_gpio_i2c_stop();
i
本文介绍了一个嵌入式项目,使用STM8S单片机通过GPIO模拟IIC通信来读写EEPROM(HK24C32)。详细讲述了驱动文件的组织结构,包括I2C通信驱动和EEPROM驱动的实现,同时提供了单字节、页读和多字节读功能,但多字节写功能存在未解决的问题。
订阅专栏 解锁全文
1049

被折叠的 条评论
为什么被折叠?



