8.5 使用IIC协议读写EEPROM 硬件方式实现 (HAL库)
**HAL_I2C_Mem_Write() : **
c
/**
* @brief 以阻塞模式向指定的内存地址写入数据
* @param hi2c 指向 I2C_HandleTypeDef 结构体的指针,包含指定 I2C 的配置信息
* @param DevAddress 目标设备地址:设备在数据手册中的 7 位地址值
* 在调用该接口之前必须向左移一位
* @param MemAddress 内部存储器地址
* @param MemAddSize 内部存储器地址的大小
* @param pData 指向数据缓冲区的指针
* @param Size 要发送的数据量
* @param Timeout 超时时间
* @retval HAL 状态
*/
HAL_StatusTypeDef HAL_I2C_Mem_Write(
I2C_HandleTypeDef *hi2c,
uint16_t DevAddress,
uint16_t MemAddress,
uint16_t MemAddSize,
uint8_t *pData,
uint16_t Size,
uint32_t Timeout
)
**HAL_I2C_Mem_Read() : **
c
/**
* @brief 以阻塞模式从指定的内存地址读取数据
* @param hi2c 指向 I2C_HandleTypeDef 结构体的指针,包含指定 I2C 的配置信息
* @param DevAddress 目标设备地址:设备在数据手册中的 7 位地址值
* 在调用该接口之前必须向左移一位
* @param MemAddress 内部存储器地址
* @param MemAddSize 内部存储器地址的大小
* @param pData 指向数据缓冲区的指针
* @param Size 要读取的数据量
* @param Timeout 超时时间
* @retval HAL 状态
*/
HAL_StatusTypeDef HAL_I2C_Mem_Read(
I2C_HandleTypeDef *hi2c,
uint16_t DevAddress,
uint16_t MemAddress,
uint16_t MemAddSize,
uint8_t *pData,
uint16_t Size,
uint32_t Timeout
);