resultat: les leds s'allument mais ne clignotent pas
pour faire clignoter les leds voilà ce que je suis obligé de faire: void main(void)
{
TRISC=0; // portC en sortie
while(1) {
PORTC=~PORTC;
Delay_ms(1000);
}
}
~ represente "l'inverse" bit à bit apparemment
mais alors, l'affectation PORTC=0x00 ne fonctionne pas ??
Les 2 versions fonctionnent seulement tu n'attend pas après PORTC=0x00;
Donc tu passe instantanément à PORTC=0xFF;
Et donc tu n'as pas le temps de voir la led s'éteindre...
Voilà ce que j'aurai écrit:
while(1)
{
// on allume la led en mettant la sortie du port A0 à l'état haut
PORTC = 0xFF;
Delay_ms(1000); // on attend...pour voir
// on éteint la led en mettant la sortie à l'état bas
PORTC = 0x00;
Delay_ms(1000); // on attend...pour voir
}
essaie et tout rentrera dans l'ordre.
Dernière modification par HULK28 ; 08/06/2006 à 02h50.
HULK
"Pour la carotte, le lapin est la parfaite incarnation du Mal."
Robert Scheckley.
08/06/2006 - 10h13
wolfjeremy
Date d'inscription
mars 2005
Messages
57
Re : easypic, pic, C, et mikroC
Juste par curiosité, ce code qui est plutôt simple en C sa donnerai quoi en ASM ?
08/06/2006 - 12h27
Mendoza
Date d'inscription
octobre 2005
Localisation
neuf trois
Âge
36
Messages
360
Re : easypic, pic, C, et mikroC
ah bah oui forcement ....
merci Hulk de m'avoir remis dans le droit chemin ...
et comme je l'avais présagé, c'est bien une bete erreur...
arf, c'est dur de se remettre a programmer apres une longue periode d'arret ...
08/06/2006 - 22h50
Gérard
Date d'inscription
janvier 2003
Localisation
Haut-Rhin
Âge
53
Messages
6 259
Re : easypic, pic, C, et mikroC
Envoyé par wolfjeremy
Juste par curiosité, ce code qui est plutôt simple en C sa donnerai quoi en ASM ?
debut
clrf portC
call tempo
movlw 255
movwf portC
call tempo
goto debut
tempo
;c'est ici que tu fais des boucles pour arriver à la
;durée que tu veux attendre
......
return
Gérard.
Gérard.
09/06/2006 - 18h39
wolfjeremy
Date d'inscription
mars 2005
Messages
57
Re : easypic, pic, C, et mikroC
Sa reste relativement simple
Merci.
P.S.: quelqu'un pourrait me dire où je peut apprendre l'ASM pour pic ? car la j'apprend l'ASM pour processeur x86...
tu as le travail remarquable de notre ami Bigonoff.
HULK
"Pour la carotte, le lapin est la parfaite incarnation du Mal."
Robert Scheckley.
09/06/2006 - 20h27
umfred
Date d'inscription
mars 2006
Âge
33
Messages
1 344
Re : easypic, pic, C, et mikroC
ou sinon la lecture des datasheets de PIC.
09/06/2006 - 21h10
wolfjeremy
Date d'inscription
mars 2005
Messages
57
Re : easypic, pic, C, et mikroC
Envoyé par HULK28
Salut,
tu as le travail remarquable de notre ami Bigonoff.
Oui, d'ailleur il faudra que je lise tout ces cours
Mais bon on sais jamais qu'il n'y aurai pas asser dans ces cours... parce que sa change suivant les PIC utiliser non ?
09/06/2006 - 23h58
Mendoza
Date d'inscription
octobre 2005
Localisation
neuf trois
Âge
36
Messages
360
Re : easypic, pic, C, et mikroC
euh... pas assez dans le cours de bigonoff
ces cours sont reletivement exheustifs, et bien faits ...
tu commence par le premuier (16f84) puis le 2eme cours (16f877) puis les suivant (bootloader...etc)
et ensuite rulezzzzz, quand tu auras fait tout cela et que tu "maitrisera" les differentes possibilités, le reste suivra ...
resultat: les leds s'allument mais ne clignotent pas
pour faire clignoter les leds voilà ce que je suis obligé de faire: void main(void)
{
TRISC=0; // portC en sortie
while(1) {
PORTC=~PORTC;
Delay_ms(1000);
}
}
~ represente "l'inverse" bit à bit apparemment
mais alors, l'affectation PORTC=0x00 ne fonctionne pas ??
ou est mon erreur ??
merci @++
pour rendre les choses plus facile a comprendre tu peux simplement appeler un delay apres ta derniere instruction.le compiler a une vitesse tres eleve dans l'execution c'est pourquoi il ne flashe pas