STM32的HAL库中硬件IIC,HAL |
您所在的位置:网站首页 › roger和receive › STM32的HAL库中硬件IIC,HAL |
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 |