2017-09-18 1 views

Répondre

1

Une erreur de cadrage peut être causée par

  • bitrate Mismatched
  • bruit sur la ligne
  • Démarrage du récepteur tandis que l'autre extrémité transmet déjà
+0

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 ... –

+0

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? –

+0

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