Bonjour,

je veux faire liaison série.
j'envoie un octet sur l'entrée de mon pic(à la patte Rx=réception), j'allume une led dès que je reçois un caractère
je n'utilise pas de timer ni d'interruptions. Je veux les bits j'ai pas besoins du 9ème bit.
je suis en mode asynchrone avec une vitesse de 9600 bauds.
Vos suggestions et remarques sont les bienvenues.
Merci à tout le monde.

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


;***** VARIABLE DEFINITIONS
;CBLOCK 0x00C

;ENDC
;***************************** * ***********************
RESET_VECTOR CODE 0x000 ; processor reset vector




;*****************************
; Programme Principal *
;*****************************


MAIN CODE
start
;SPBRG=Baud Rate Generator Register

nitA
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 0x06 ; PORTC = digital input/output
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
goto Reception
movf RCREG,W
goto allume_led
;return

allume_led
bsf PORTA,1 ;la led est au PORTA,1
goto Reception

END ;directive fin de programme