0
Je reçois beaucoup récemment le HAL_UART_ERROR_FE (erreur de trame). Je n'ai trouvé nulle part ce qui cause cette erreur en premier lieu. Quelqu'un peut-il m'expliquer ce qui n'allait pas que j'ai cette erreur?STM32F1xx Pilote Hal - Uart Recevoir IT - HAL_UART_ERROR_FE
Ouais c'est probablement 3. J'utilise le mode it avec 2 caractères, car il est utilisé pour une entrée de terminal. J'utilise le halfetransmit cb pour pousser le premier caractère dans un fifo et la fin de transfert pour que le second char pousse dans le fifo et active de nouveau le mode de réception. Quand maintenant 3 caractères sont envoyés avec un message, je reçois l'erreur. C'est vraiment peu pratique d'utiliser le mode rx it pour des longueurs variables. Mais je ne veux pas utiliser l'interrogation ... –
Y at-il une meilleure solution pour recevoir avec le mode it, obtenir des interruptions pour chaque caractère reçu et pousser automatiquement à un fifo/ringbuffer? –
Oui, il y a. N'utilisez pas du tout HAL, il suffit de lire 'UART-> SR' et' UART-> DR' dans le gestionnaire d'interruption. – berendi