向从机写数据
HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout);参数hi2c:写i2c的句柄指针,例如&hi2c1参数DevAddress:从机地址参数pData:要发送的数据的地址参数Size:发送数据的量,单位字节参数Timeout:超时时间,单位ms。永久等待写HAL_MAX_DELAY返回值HAL_StatusTypeDef:HAL_OK - 成功、HAL_ERROR - 发送出错、HAL_BUSY - i2c接口忙、HAL_TIMEOUT - 发送超时
从从机读数据
HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout);参数hi2c:写i2c的句柄指针,例如&hi2c1参数DevAddress:从机地址参数pData:保存接收数据的地址参数Size:接收数据的量,单位字节参数Timeout:超时时间,单位ms。永久等待写HAL_MAX_DELAY返回值HAL_StatusTypeDef:HAL_OK - 成功、HAL_ERROR - 接收出错、HAL_BUSY - i2c接口忙、HAL_TIMEOUT - 接收超时
示例:点亮显示屏和灯
1 | /* USER CODE BEGIN 2 */ |