EEPROM HAL设计与实现全解析
1. 设计并创建EEPROM HAL接口
在创建EEPROM的硬件抽象层(HAL)接口时,我们可以参考相关指南来确定所需的功能和特性。控制内存设备的函数可视为对数据的操作,主要操作包括:
- 初始化
- 数据写入
- 数据读取
- 状态寄存器的读写
创建EEPROM的HAL与其他外设类似,但在本例中,由于EEPROM设备是微控制器的外部设备,无法触发微控制器的内部中断,因此我们不包含回调函数。不过,若开发者想创建一个涵盖内部和外部设备的通用HAL,可以根据情况添加回调函数。
EEPROM HAL接口仍遵循微控制器外设的标准模式,包含初始化函数、读写函数和寄存器访问函数。与其他HAL不同的是,这里新增了一个WriteStateSet函数,用于控制内存的写入状态。虽然这个功能也可以整合到RegisterWrite中,但为了让应用用户明确使用内存设备可能需要额外步骤,我们将其单独列出。
最初创建的HAL版本包含十多个不同的接口,如StatusRegisterWriteEnable、StatusRegisterWriteDisable等,还扩展了一些自定义功能,如EraseChip、EraseSector等。但这样的接口过于庞大,难以导航和理解。后来对HAL进行了重构,将自定义功能扩展到一个特定于设备的单独模块中,主HAL则简化为更易于管理的功能集。
此外,HAL还包含一