Bonsoir,
Avant de poster j'ai fait une recherche dans le forum,désolé si je l'ai raté.... donc voila
Je n'arrive pas à saisir le rôle de la directive "LOCAL", expliquée dans le cours de bigonoff, pour ecrire dans l'EEP.
J'arrive bien à ecrire dans EEp en utilsant le corp de la macro 'WRITEE' pour incrementer une variable comme ceci:
mais je n'arrive pas a comprendre, comme dit plus haut, le pourquoi de "LOCAL loop".Code:;WRITEE eereload ; (appel macro WRITEE écrire à l'adresse 0x00 (try to use with out macro) ;LOCAL loop movwf EEDATA movlw 0x00 movwf EEADR ;----- ;loop bcf INTCON , GIE ; interdire interruptions ;btfsc INTCON , GIE ; tester si GIE bien à 0 (inutile) ;goto loop ; non, recommencer (inutile) bsf STATUS , RP0 ; passer en banque1 bcf EECON1 , EEIF ; effacer flag de fin d'écriture bsf EECON1 , WREN ; autoriser accès écriture ;----- debut commandes constructeur------ movlw 0x55 ; charger 0x55 movwf EECON2 ; envoyer commande movlw 0xAA ; charger 0xAA movwf EECON2 ; envoyer commande bsf EECON1 , WR ; lancer cycle d'écriture ;----- fin commandes constructeur------ bcf EECON1 , WREN ; verrouiller prochaine écriture bsf INTCON , GIE ; réautoriser interruptions bcf STATUS , RP0 ; repasser en banque 0 ;------
Merci
-----