143 371
modifications
m (Robot : Remplacement de texte automatisé (-\s+FPGA\s+ + {{Abréviation|FPGA|Field Programmable Gate Array|en}} )) |
m (Robot : Remplacement de texte automatisé (-qu'il +qu’il)) |
||
Remarquez comment est écrit une interruption avec ce compilateur.
1°) Repérer et modifier les lignes de ce programmes pour
2°) Calculer si le chenillard réalisé par ce programme est visible à l'œil humain (fréquence de changement de position des LEDs inférieure à {{Unité|20|{{abréviation|Hz|hertz}}}}).
<u>Calcul précis</u> : {{Unité|50|{{abréviation|Mhz|mégahertz}}}} / 4*(256*256*16) = {{Unité|11.92|{{abréviation|Hz|hertz}}}} (la division par 4 a toujours lieu).
3°) "if (!(nb % 16))" est une façon pas très efficace de calculer le reste de la division par 16. J'ignore la technique utilisé par le compilateur, mais ce calcul est forcément long
Comme la division se fait par 16 qui est une puissance de deux, on peut utiliser un masque pour faire ce calcul bien plus rapidement :
if ((((nb &0xF0) > 0x90) nb = 0;
</source>
Les compilateurs C compilent cela certainement de manière peu optimisée. Il faut savoir
Pour la période de l'interruption, on part de la fréquence quartz divisée par 4 soit : {{Unité|1|{{abréviation|Mhz|mégahertz}}}}
<source lang="c">
//****** Mikro C ********
|