Salut tout le monde,
j'ai un souci avec mon programme.
je veux lire l'octet que j'ai envoyé au niveau de la patte RX de mon pic.
je n'utilise pas de timers ni d'interruption.
je suis en mode asynchrone.
si je reçois un caractère il faut que je fasse allumer une led me signalant que j'ai reçu quelques choses.
MERCI D'AVANCE.
Voici mon code:
;***************************** ****************************** ************************
list p=16f873 ; list directive to define processor
#include <p16f873.inc> ; processor specific variable definitions
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _XT_OSC
RESET_VECTOR CODE 0x000 ; processor reset vector
goto start ; go to beginning of program
; Programme Principal
;***************************** ****************************
;Initialisations
MAIN CODE
start
;SPBRG=Baud Rate Generator Register
InitA
bcf STATUS,RP0
bcf STATUS,RP1
clrf PORTA
bsf STATUS,RP0
bcf STATUS,RP1
movlw 0x06
movwf ADCON1
movlw b'00000000'
movwf TRISA
InitC
clrf PORTC
movlw b'10000000'
movwf TRISC
;Procédure suivu pour la Réception asynchrone
movlw D'25' ;25 pour vitesse de 9600 Bauds
movwf SPBRG ;Vitesse 9600 bauds
bsf TXSTA,BRGH
bcf TXSTA,SYNC ;mode asynchrone
bsf RCSTA,SPEN ;serial port enable
bcf PIE1,RCIE ;pas d'interruption sur reception
bcf RCSTA,RX9
bsf RCSTA,CREN ;reception continue enable
goto Reception
; fin du Programme Principal
Reception
btfss PIR1,RCIF ;à 1 on exécute l'instruction qui suit
goto Reception
movf RCREG,W
goto allume_led
allume_led
bsf PORTA,1 ;la led est au PORTA,1
goto Reception
END ;directive fin de programme
-----