
``` static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagStatus Status, uint32_t Timeout, uint32_t Tickstart) { /* Wait until flag is set */ while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) { /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) { if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) { hi2c->PreviousState = I2C_STATE_NONE; hi2c->State = HAL_I2C_STATE_READY; hi2c->Mode = HAL_I2C_MODE_NONE; hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; /* Process Unlocked */ __HAL_UNLOCK(hi2c); return HAL_ERROR; } } } return HAL_OK; } ``` |
STM32H7使用HAL库如何控制外置USB HS PHY进入低功耗
《年中视频学习心得》+我在年中学习STM32心得
touchgfx handletickevent 执行的频率 是由什么决定的
touchgfx4.25 颜色错误?
ubuntu 编译stm32cubmax 生成的cmake工程,在最后链接阶段报错,can don't find-lc_none
STM32的内部Flash操作是不是优先级最高?
STM32CubeMX居然卡死了
STM32G474VET6如何配置HRTIM的中心对齐模式
用STM32的時候是直接用MDK方便還是在vscode用keil插件方便一些
用cubemx配置好串口后,再配置一个adc输入就会卡在HardFault_Handler里不动了。
我理解这里不会影响systick的运行,但是需要排除是否由于这个I2C的操作导致产生硬件错误中断后,进入错误中断,systick运行,或者I2C中断在一直运行,导致systick中断不运行。