Help me

Signaler
Messages postés
2
Date d'inscription
vendredi 27 février 2004
Statut
Membre
Dernière intervention
16 juin 2004
-
Messages postés
87
Date d'inscription
jeudi 10 octobre 2002
Statut
Membre
Dernière intervention
4 avril 2008
-
j'ai écri un ptit prog dont voici un extrait permettant d'envoyer un octet vers liaison série mais j'ai un pb lors de la compilation avec mplab
l'erreur est la ligne suivante:
btfsc STATUS , C

extrai:
movwf ALTITUDE ; rs_octet = octet à envoyer
movlw 8 ; 8 bits
movwf CPTR_BIT_TEMP ; compteur de bits envoyés nbre de bits de donné de la liaison série
bcf PORTB,7 ; bit de start
call RSdelai ; tempo
rrf ALTITUDE,f ; rotation vers la droite on recupere dans C le bit à envoyer
btfsc STATUS , C ; on teste bit à envoyer = 1 ?
goto $+3 ; oui
bcf PORTB,7 ; sinon 0
goto $+2 ; on continue sur la tempo
bsf PORTB,7 ; bit à 1
call RSdelai ; tempo
decfsz 1,f ; on decremente le compteur de bits envoyés attention je suis pas sûr du 1
goto $-8 ; on continue sur les bits suivants
bsf PORTB,7 ; bit de stop
call RSdelai ; tempo pour bit de stop
call RSdelai ; tempo de sécurité
return ; les 8 bits sont envoyés

RSdelai movlw RS_delay ; temporisation de la durée d'un bit
movwf RS_tmp
decfsz RS_tmp,f
goto $-1

1 réponse

Messages postés
87
Date d'inscription
jeudi 10 octobre 2002
Statut
Membre
Dernière intervention
4 avril 2008

ALTITUDE ? est bien une variable

a movlw 8 mais movlw .8
decfsz 1,f ; on decremente le compteur de bits

ton compteur est CPTR_BIT_TEMP

decfsz CPTR_BIT_TEMP,F ; si 0 saute

le btfsc STATUS,C est bon mais ca peu venir des ligne avant ALTITUDE regarde dans mplab si elle te donne bien quelque chose dedans mais corige le decfsz 1,f avant

a++