leroi976
Messages postés6Date d'inscriptionvendredi 2 novembre 2007StatutMembreDernière intervention 3 mars 2009
-
1 mars 2009 à 23:53
leroi976
Messages postés6Date d'inscriptionvendredi 2 novembre 2007StatutMembreDernière intervention 3 mars 2009
-
3 mars 2009 à 20:24
je veux créer un programme permettant de sortir des impulsions sur une sortie d'un port. je veux cadencer une horloge sur cette sortie. quand je dois faire. merci d'avance.
void main(void)
{ // Configuration de la broche B5 en sortie
trisb = trisb & 0xdf;
portb = (portb & 0xdf) | 0x20;
PIN_CLOCK = CLK_H; // Ton état haut
delay_ms(5); // Ta tempo de 5ms
PIN_CLOCK = CLK_L; // Ton état bas
delay_ms(5); // Ta tempo de 5ms
}
Aprés si tu veux plus de précision, utilise un timer, c'est le même principe sauf qu'a la place de "delay_ms" tu fait appel a ton "sous programme timer" et la c'est précis.
Si non tu peux encore faire un compteur ou un décompteur qui aura le même fonctionnement.
romain60112
Messages postés70Date d'inscriptionmercredi 1 octobre 2008StatutMembreDernière intervention17 avril 20131 3 mars 2009 à 18:30
Quand tu fait appel à delay_ms(X) tu sort du main() et tu va dans le sous programme de la bibliothèque de ton compilo delay_ms(X).
Dans ce sous programme tu y reste X temps et a coté tu ne fait rien, tu attends.
Maintenant quand tu utilise un timer, tu peux gérer deux tâches à la fois (Une tâche dans ton main() et une tâche de fond dans ton timer). C'est aussi l'avantage du timer.
Le plus simple étant biensur d'utiliser la fonction delay_ms. Aprés tout dépend de ce que tu veux faire derrière et de la taille de ton projet.
Cordialement,
Romain
Vous n’avez pas trouvé la réponse que vous recherchez ?
leroi976
Messages postés6Date d'inscriptionvendredi 2 novembre 2007StatutMembreDernière intervention 3 mars 2009 2 mars 2009 à 22:30
je dois le faire sortir sur un PIN un cadencement de 10ms à l'état haut et 10ms à l'état bas. je na sais pas si je dois avec un delay_ms() car c'est en temps réel.