
``` 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; } ``` |
工程移植都有哪些需要注意的地方?
关于使用cubemx配置stm32g473re的opamp工作模式:Programmable gain amplifier mode with external filtering
STM32会存在单个IO口坏掉的情况吗?
STM32IDE如何设定代码到ITCM中运行。
STM32H7R7 CubeMX无配置问题
如何解决用CubeMX生成代码时会将main.c文件中的汉字变成乱码的问题?
用NanoEdge Ai训练多分类后输出概率一直为一样的值,传不同数据永远都是一样的概率
STM32F723ZET6使用ADC捕获标准正弦波并通过USB主动上报,正弦波重新拟合后存在凹陷峰?
STM32CubeMX 使用"FW_F1 V1.8.6"生成FreeRTOS代码缺少"freertos_mpool.h"?
STM32N6 cubeAI部署时用的内存是在内部还是外部?
我理解这里不会影响systick的运行,但是需要排除是否由于这个I2C的操作导致产生硬件错误中断后,进入错误中断,systick运行,或者I2C中断在一直运行,导致systick中断不运行。