Étape 6: Notes et mystères sur le code
1. délai du cycle
Notez qu’il existe une boucle « retard de programme » qui est utilisée pour attendre l’échantillon interne pendant la puce recharger. Ici, nous avons mis c’est 7 cycles ; fait intéressant, il ne fonctionnera pas du tout si nous changeons de 6 cycles ou n’importe quel nombre plus petit que 6. C’est assez étrange et mystérieux. Si 6 cycles ne suffisent pas pour S/H de la puce charger, que nous devrions plutôt obtenir un autre nombre plus petit, cependant, ce qui est arrivé au lieu de cela est que si nous utilisons 6 cycles, rien ne va à travers et nous sera coincés dans la boucle « faite » comme si la conversion a/d n’est jamais faite.
2. transmission de données
Puisque nous sommes transférant un 10 bits de données dans notre MATLAB, mais le UART2 prend seulement en 8 bits par heure. Donc nous transférer les huit premiers bits tout d’abord et ensuite transférer les deux derniers chiffres. Ainsi, dans le programme MATLAB, nous devons combiner tous les deux chiffres dans une réponse souhaitée. Le calcul de base pour cela est juste: (1er octet * 4 + 2ème octet / 64) car nous voulons l’octet haut pour déplacer forward(left) par deux chiffres et l’octet de poids faible pour déplacer vers la droite par 64 (2 ^ 6).