Programa de puerto serie STM32
No se permiten declaraciones de espera durante la recepción, como delayms1() en el programa anterior no deben aparecer, de lo contrario ocurrirá la siguiente situación durante la recepción continua:
1, uno; Se ha recibido un dato, se establece la condición if(USART_GetFlagStatus(USART1, USART_IT_RXNE)==SET), ejecute la declaración dentro de la condición y salte a 2.
2. Ejecute delayms1(); durante la declaración, se reciben varios datos uno tras otro, pero en este momento no se leen los primeros datos, lo que provoca inmediatamente un error de sobrecarga de recepción.
Por lo tanto, no hay ningún problema para que recibas un solo dato, pero cuando recibes varios datos seguidos, definitivamente no podrás hacerlo.