STM32的HAL库中硬件IIC,HAL

您所在的位置:网站首页 receive读 STM32的HAL库中硬件IIC,HAL

STM32的HAL库中硬件IIC,HAL

2024-01-30 19:51| 来源: 网络整理| 查看: 265

IIC读函数

HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout);

功能:IIC读一个字节 参数:

*hi2c: 设置使用的是那个IIC 例:&hi2c2

DevAddress: 写入的地址 设置写入数据的地址 例 0xA0

*pDat:a 存储读取到的数据

Size: 发送的字节数

Timeout: 最大读取时间,超过时间将自动退出读取函数  

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); /* 第1个参数为I2C操作句柄 第2个参数为从机设备地址 第3个参数为从机寄存器地址 第4个参数为从机寄存器地址长度 第5个参数为发送的数据的起始地址 第6个参数为传输数据的大小 第7个参数为操作超时时间   */

如果读某个外设中的数据,则用HAL_I2C_Master_Receive。 如果是外设里面还有子地址,例如我们的E2PROM,有设备地址,还有每个数据的寄存器存储地址。则用HAL_I2C_Mem_Read。 Mem_Read是2个地址,Master_Receive只有从机地址

同理:

如果只往某个外设中写数据,则用HAL_I2C_Master_Transmit。 如果是外设里面还有子地址,例如我们的E2PROM,有设备地址,还有每个数据的寄存器存储地址。则用Mem_Write。 Mem_Write是2个地址,Master_Transmit只有从机地址



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3