STM32F1HAL库的I2C应用注意事项

来源:本站
导读:目前正在解读《STM32F1HAL库的I2C应用注意事项》的相关信息,《STM32F1HAL库的I2C应用注意事项》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《STM32F1HAL库的I2C应用注意事项》的详细说明。
简介:因为要用到I2C和流量传感器通信,也是第一次使用,直接使用stm32F1 HAL库来实现初始化,在STM32F10E评估板上直接和传感器通信,一次性成功通过。当把调试好的流量计驱动程序往实际的板子上应用的时候发现会死等在某一处的问题。

因为要用到I2C和流量传感器通信,也是第一次使用,直接使用stm32F1 HAL库来实现初始化,在STM32F10E评估板上直接和传感器通信,一次性成功通过。

当把调试好的流量计驱动程序往实际的板子上应用的时候发现会死等在某一处如下:

while(__HAL_I2C_GET_FLAG(hi2c, Flag) != RESET) { /* Check for the Timeout */ if(Timeout != HAL_MAX_DELAY).......

以上代码是HAL库中的

网上查阅是I2C的固有BUG,真的是这样吗,官方的HAL库更新了好几代了都。。。

尝试

void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle){GPIO_InitTypeDef GPIO_InitStruct;if(i2cHandle->Instance==I2C2){/* USER CODE BEGIN I2C2_MspInit 0 *//*自已加了这一句代码,提前打开时钟,能解决前面的问题*/__HAL_RCC_I2C2_CLK_ENABLE();</font>/* USER CODE END I2C2_MspInit 0 */ /**I2C2 GPIO Configuration PB10 ------> I2C2_SCL PB11 ------> I2C2_SDA */ GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11; GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); /* Peripheral clock enable */

非常奇怪的时,在STM32f10E评估板上不用对CUBE生成的代码更改。

没有深入研究,好用就行。

提醒:《STM32F1HAL库的I2C应用注意事项》最后刷新时间 2024-03-14 00:54:08,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《STM32F1HAL库的I2C应用注意事项》该内容的真实性请自行鉴别。