bonjour à tous,
je voudrais savoir comment faire pour récupérer des données qui ont été stocké dans un buffer.
je recoit des données via le module usart de mon pic16f876a que je stocke dans une buffer, incrémenté tant qu'une certaine donnée n'a pas été reçue (66).
or j'ai besoin ensuite de toutes les données stckées en vue d'un traitement.
problème, je ne sais pas comment faire...
si vous pouviez m'aider!!.
voivi mon bout de programme:
;DECLARATION DES VARIABLES
;-------------------------
;zone de 16 octets
;-----------------
CBLOCK 0x70
bufptr : 1 ;pointeur
ENDC
;zone de 96 octets
;-----------------
CBLOCK 0x110
bufin : D'10' ;zone de stockage des données
ENDC
;lire octet reçu
----------------
bsf STATUS,IRP ; pointer bank 2 et 3 en indirect
movf bufptr,w ; charger le pointeur de destination
movwf FSR ; charger pointeur d'adresse
movf RCREG,w ; charger l'octet recu
movwf INDF ; sauvegarde de l'octet reçu
;test sur le dernier caractère (vérif trame finie)
;-------------------------------------------------
movf INDF,w ; charger l'octet reçu
xorlw 0x66 ; comparer avec dernier attendu
btfsc STATUS,Z ; verif résultat de l'opération (identique)
goto findemess ; si oui aller à findemess
;incrémenter le pointeur
;-----------------------
incf bufptr,f ; incrementer pointeur
movf FSR,w ; charger pointeur
findemess
movlw LOW bufin ; adresse de depart du buffer
movwf bufptr ; prochain octet sera le premier
merci...
-----