Enfin ! Merci pour ce forum sur les PIC en Français !!!
Je suis plutôt nouveau en C et un noob en PIC mais bon, je me défend très bien en Python donc finalement ben ça passe. Reste juste à savoir quoi mettre où et c'est bon.
Donc voilà. Le projet, c'est un allumage électronique pour un monocylindre à partir d'un 18F26K22. Concept assez facile, on écoute une broche qui passe à un moment à l'état haut, c'est un Top. A partir de là, on commence à compter sur deux TIMERs. Le premier sera arrêté par le prochain top et donnera la vitesse de rotation, le second va provoquer l'allumage quand il déborde, on le remet à la bonne valeur et on éteint l'étincelle au bout de la valeur prédéfinie et on recharge avec une valeur qui correspond à l'avance à l'allumage calculé par la boucle principale. Comme il faut aussi communiquer avec l'extérieur, on active une PWM sur une broche qui sera l'image de la vitesse de rotation. 0%: 1000tr/min, 100% 10.000tr/min (avec coupure d'allumage).
Jusque là, facile tout va bien. Je compile, deux trois warnings à cause de mauvais changement de type de variable (ben oui C, c'est pas Python
J'ai oublié de préciser que ça ne démarre pas parce que ça ne passe pas le while qui attend le débordement. En fait, d'après le simulateur, TIMER2 reste coincé sur une seul valeur "fantaisiste" (parce que pas toujours la même en fonction de je ne sais pas quoi ...).
Merci beaucoup si quelqu'un s'en sort. @+
Edit : pour les pressés, allez au #13 pour avoir le code qui fonctionne. Si vous voulez comprendre, il faudra lire les réponses qu'il y a avant



