Étape 8: Dépannage
Double tampon
J’ai utilisé le double tampon pour résoudre le problème de fonctionnement en temps réel,
Comme vous pouvez voir l’image,
Un tampon est collecte tandis que l’autre tampon est le traitement de données.
Données de redimensionnement
Vitesse d’horloge du périphérique deux est différent et la vitesse de communication est différent à chaque fois.
Donc recevoir périphérique doit avoir besoin de redimensionner le nombre de données.
Ex) photo expliquer ce cas
Supposons que le dispositif de TX enverra 1024 octets dans chaque 100usec.
Dispositif de RX peut jouer seulement 1000 octets avant l’arrivent de nouvelles données.
Ou dispositif RX jouer données toutes reçues (2014 octets) et restent le temps avant l’arrivent de nouvelles données.
Pour résoudre ce problème,
Lorsque l’horloge appareil RX est plus rapide que le dispositif de TX, RX dispositif doit besoin d’ajouter les dernières données.
if (i == MAX_BUF_SIZE) i = MAX_BUF_SIZE - 1;
Lorsque RX dispositif horloge est plus lent que le dispositif de TX, RX dispositif doit besoin de débarrasser restent les données.
if (buf_sel) buf_sel = 0; else buf_sel = 1; i = 0; // buffer index change to 0 as force.
Puis son joué est diffèrent de son original.
Mais est-il autorisé à écouter.
Dans ce cas, la basse taille de mémoire tampon est préférable.