|
``` 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; } ``` |
STM32CubeMX中文界面菜单如何设置?
STM32cubeMX中文版怎么设置?
CUBEMX配置G474串口DMA传输,为什么接收正常发送不了?
STM32G474VET6如何配置HRTIM的中心对齐模式
开箱转盘中奖礼物,跑个“代码❤️”先!
G474 HRTIM的6个Fault引脚能对应三个定时器的6个通道吗?
STM32H743 以太网 为什么需要设置在0x30040000才能使用
关于STM32Cubemx 6.15版本生成工程的文件编码的问题
关于STM32WB09例子程序中,是否能够不使用串口的问题,引脚另有他用
关于使用STM32CubeIDE for vscode配置freertos的问题
微信公众号
手机版
我理解这里不会影响systick的运行,但是需要排除是否由于这个I2C的操作导致产生硬件错误中断后,进入错误中断,systick运行,或者I2C中断在一直运行,导致systick中断不运行。