»
(008) CubeIDE Implementation of USB Peripherals*
(018) C99 pointer*
(019) C99 With only value assignment*
(022) POSIX pthread multi-threads mutex*
(023) POSIX pthread multi-threads programming*
(027) C99 time and wait*
(028) High-precision calculation with GMP*
(029) Web Service Lib*
(030) International Components for Unicode (ICU)*
(031) Performance of C is higher than C++, because...*
(038) STM32 UART clear transfer error flag
UART传输错误标志位的清除 在HAL_UART_ErrorCallback中断函数中,清除错误标志位的方法为: 清除UART奇偶校验错误标志(传输丢码导致):__HAL_UART_CLEAR_PEFLAG(__HANDLE__) 清除UART帧错误挂起标志(传输丢码导致):__HAL_UART_CLEAR_FEFLAG(__HANDLE__) 清除UART噪声错误挂起标志(传输丢码导致):__HAL_UART_CLEAR_NEFLAG(__HANDLE__) 清除UART超前跑溢出挂起标志(波特率过高导致:)__HAL_UART_CLEAR_OREFLAG(__HANDLE__) 需要注意的是:ORE,是在波特率特别高的时候,寄存器中的数据已满、未移走,接收器又接收到了新的bit。这个时候就会产生一个错误中断:HAL_UART_ErrorCallback。其中,(huart->ErrorCode & HAL_UART_ERROR_ORE) == 1;