Help me

theyoupione Messages postés 2 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 16 juin 2004 - 16 juin 2004 à 12:41
phenojeff Messages postés 87 Date d'inscription jeudi 10 octobre 2002 Statut Membre Dernière intervention 4 avril 2008 - 16 juin 2004 à 16:17
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

phenojeff Messages postés 87 Date d'inscription jeudi 10 octobre 2002 Statut Membre Dernière intervention 4 avril 2008
16 juin 2004 à 16:17
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++
0