Bonjour
Je réalise un montage qui va me permettre de contrôler la température de mon pc grâce a des sondes et des ventilateurs et qui affiche les valeurs sur un lcd 4*20
je réalise ce montage en deux partie, une qui s'occupera des sondes et des ventilo et une qui ne s'occupera que du lcd
Les deux dialogueront en I2C
J'ai un problème au niveau d'une macro que j'utilise pour afficher un message sur le lcd
affiche_msg MACRO MSG,taille
; macro affichant un message, a besoin de sa taille
LOCAL affiche0
; déclare les saut locaux
LOCAL compt_char
; déclare les variable local
CLRF compt_char
; initialise le compteur
affiche0 MOVF compt_char,W
; met le compteur dans W
CALL MSG
; appel du message a afficher
CALL lcd_send_char
; envoi du character
INCF compt_char,F
; incremente le compteur
MOVF compt_char,W
; met le compteur dans w
SUBLW taille
; soustrait la le compteur par la taille
BTFSS satut,Z
; test du resultat
GOTO affiche0
; pas fini donc reboucle
ENDM
; fini donc quitte
MSG0 addwf PCL,F
;saute a la ligne pointé par w
retlw 'V'
retlw 'E'
retlw 'N'
retlw 'T'
retlw 'I'
retlw 'L'
retlw 'O'
retlw ' '
retlw 0
RETURN
Voila ce qu'il vous faut pour tester bien que je vous envoi aussi le programme entier
On dirait que la macro n'incrémente pas le compteur, il reste toujours a 0 ou se réinitialise
Merci de bien vouloir m'aider sur ce problème que je ne comprend pas
Désolé pour le bordel de mon programme, ce n'est pas la version finale et je ne connais pas toute les astuce de mise ne page ou de raccourcis
Merci encore
Cordialement Zoilo
-----