Orace Analyste déComplexé | Salut à tous, peut étre avez vous vu mon topic sur un afficheur 1*32 en persistance rétiennienne, j'ai réussi à programmer le pic pour qu'il m'affiche un texte, le texte à afficher et stocker dans :
Code :
- CBLOCK 0x20
- text : 32 ; 32 caractéres
- ENDC
|
la variable text donc, le programme vas ensuite chercher dans une table (qui pour l'instant est limitée à qu'un petit nombre de caractére) les diodes à allumer.
Tout ca marche bien, c'est qd je veux modifier le texte par une liaison série que ca bloque.
Code :
- bsf PORTA, 1 ; on demande la reception (A1 brancher sur le port série pour que)
- movlw D'8' ; on va prendre 8 bits
- movwf varun ; varun pour compter
- clrf charRS ; resultat enregistré dans charRS
- _BitSuivant
- rrf charRS, F ; on tourne
- bcf charRS, 7 ; on met un 0 à la fin
- btfss PORTA, 3 ; mais si il y'a du jus,
- bsf charRS, 7 ; on met à 1
- nop
- nop ; attente du bit suivant (pour une recpetion à 115000 bps @ 4MHz
- decfsz varun, F
- goto _BitSuivant ; on passe au bit suivant
- bcf charRS, 7
- bcf charRS, 6
- bcf charRS, 5 ; comme ma table est limitée, on tronque pour étre sur de rester dedans
- movf charRS, text+d'25' ; un test pour voir si le 25° caractére change => non, il ne change pas
- movlw d'15'
- movwf text+d'26' ; un test pour voir si on peut changer un caractére
- movlw text ; on va en début de texte
- addwf curseur,w ; w à l'adresse du caractére sous curseur
- movwf FSR ; on pointe sur la bonne adresse
- movf charRS, INDF ; on écrit le caractére
- incf curseur ; on avance le curseur pour la prochaine fois
- bcf curseur, 5 ; mais on le limite à 31 (si curs==32 => curs=1)
- movfw charRS ; juste pour voir si il y'a une reception, on allume momentanément les diodes
- movwf PORTB
|
Tout ce qui marche ici, c'est les diodes qui s'allume à la fin, même ce code "movf charRS, text+d'25'" pour afficher le caractére recu ne marche pas, et il me fait un warning 202 Argument out of range. Least significant bits used.
Je ne comprend pas pkoi ca marche po please help !
|