static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagStatus Status, uint32_t Timeout, uint32_t Tickstart) { while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) { /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) { if (((H...
(__HAL_UART_GET_FLAG(huart, Flag) == RESET) { /* Check for the Timeout */ if(Timeout != HAL_MAX_DELAY) { if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) { /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for the...
UART_HandleTypeDef huart1; // 假设huart1已经正确初始化 uint8_t dataToSend = 'A'; uint32_t tickstart = HAL_GetTick(); // 记录等待开始的时间点 // 等待发送数据寄存器为空 if (UART_WaitOnFlagUntilTimeout(&huart1, UART_FLAG_TXE, RESET, tickstart, HAL_MAX_DELAY) != HAL_OK) ...