Bojour,
Perso je n'est pas lu le cour de bigonoff non plus, tout simplement parce que je garde
un mauvais souvenir de l'assembleur (en particulier le 68000...).
Bref, se matin je me suis interessé au timer1 vu qu'il est sur 16bit. En 8 bit on ne peu
pas depasser le nombre 256 je crois, sur 16 bit sa doit être 65535 si j'ai bien compris.
Alors j'ai refait le même calcul et je suis arriver à une valeur max de 0.2 sec et des poussiere.
Sa risque d'être plus rapide avec se timer la non ?
Par contre je ne connais pas interrupt_handler et donc je ne comprend pas bien ton programme
.
C'est du C de microchip ? Je travail sous CCS moi.
Tu peu m'aider encore un peu s'il te plait ?
Merci d'avance.
Salut,
alors dans un premier temps, il est difficile de comparer l'assembleur 68000 et l'assembleur PIC, tout simplement parce qu'un 68000 est un CISC alors qu'un PIC (comme un AVR) est un RISC.
grooso-modo ca veut dire que dans un 68000, t'as plusieurs centaines d'instructions, des dizaines de registres, et chaque instruction prend un nombre de cycles d'horloge différent. Dans un PIC, tu as 35 instructions (plus ou moins, ca dépend des familles), UN SEUL registre (W, pour Work, le registre de travail), et chaque instruction (sauf les branchements, dans certains cas) ne prennent qu'un cycle d'horloge pour s'executer.
Bilan l'assembleur PIC est de loin plus simple que l'assembleur 68000, de loin ... et je ne peux que te conseiller de lire les cours de bigo, même si tu comptes faire du C par la suite, le langage assembleur est le langage de plus bas niveau, c'est celui qui t'en apprendra le plus sur le fonctionnement du microcontroleur.
Voilà pour le sermont sur l'asm
Maintenant pour le timer, fabarbuck et moi t'avont donné une solution pour "étendre" un timer 8 bit sur quasiement n'importe quel nombre de bit, et arriver jusqu'a la seconde.
Le "interrupt_handler" c'est ce que le controleur fait quand ton timer gueule parce qu'il à fini de compter (c'est une simple fonction, il suffit de dire à ton compilo qu'en cas d'interruption, il vient à cet endroit, et une fois cette fonction terminée, il revient à ce qu'il faisait avant).
++
si tu n'as pas compris mes astuces, je pourrais t'ecrires ca en pseudo-code (pas de code, ca dépend de trop de choses, et je suis pas là pour faire le boulot des autres ...).
Je n'est pas l'habitude de demander de faire le boulot à ma place, mais si tu peu me faire un exemple
en C sous CCS je ne dit pas non
.
Salut,
juste en passant, le pseudo-code, c'est un "pseudo-langage" qui permet de décrire des algorithmes de facon simple, et ce n'est en aucun cas du C, un petit exemple :
variable entière blabla
début
blabla = 0;
tant que blabla < 10
blabla ++;
fin tant que
si blabla != 10 alors cool sinon pas cool
fin
Ca se traduit très bien en C par exemple, mais y'a des adaptations à faire ... et là c'est ton boulot d'adapter les algos pour ton usage spécifique.
++
[EDIT] une boulette se trouve dans le pseudo-code, saurez vous la retrouver ?