Possédant un PIC16F1825 je me retrouve avec un bug au moment de la compilation, source du message d'erreur.
Message[303] D:\DATAPIC\PICSOUR\16F1825\16F1825TEMP.ASM 11 : Program word too large. Truncated to core size. (C9A4)
Message[303] D:\DATAPIC\PICSOUR\16F1825\16F1825TEMP.ASM 12 : Program word too large. Truncated to core size. (DCFF)
Message[303] D:\DATAPIC\PICSOUR\16F1825\16F1825TEMP.ASM 149 : Program word too large. Truncated to core size. (C9A4)
Message[303] D:\DATAPIC\PICSOUR\16F1825\16F1825TEMP.ASM 149 : Program word too large. Truncated to core size. (DCFF)
Je vous joint le code, qui est quasiment vide, bon il se compile, mais j'aimerais bien comprendre, pourquoi ce message d'erreur
Code : Tout sélectionner
;**********************************************************************************************
Errorlevel-302 ; Supprime le message "Ensure that bank bits are correct"
; Errorlevel-303 ; pour supprimer le message d'erreur, mais ça ne règle pas le problème.
; pourquoi ?
list p=16f1825 ; liste de la directive de la définition du processeur
#include <p16f1825.inc> ; définition des variables du processeur
;------------------------------------------------------------------------------
__CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
__CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF
;------------------------------------------------------------------------------
CBLOCK H'20'
donner_low :1
donner_hi :1
adresse_low :1
adresse_hi :1
ENDC
;------------------------------------------------------------------------------
;
; le PIC16F1825 a 256 octets d'eeprom, qui commence à adresses 0xF000
;
;------------------------------------------------------------------------------
DATAEE ORG 0xF000
DE "Bug" ; écriture en eeproom 'B' 'u' 'g' adresses 0,1,2
;------------------------------------------------------------------------------
ORG H'0' ; reset de départ
PAGESEL start
goto start
;------------------------------------------------------------------------------
ORG H'4'
retfie
;------------------------------------------------------------------------------
start
loop
nop
nop
goto loop
;****************************** "pour écrit dans l'eeprom" *************************************
ecriture_eeprom
BANKSEL EEADRL ; passer en bank 3
movlw adresse_low
movwf EEADRL ; adresse du poids faible
movlw adresse_hi
movwf EEADRH ; adresse du poids fort
movlw donner_low
movwf EEDATL ; donnée du poids faible
movlw donner_hi
movwf EEDATH ; donnée du poids fort
bcf EECON1,CFGS ;
bcf EECON1,EEPGD ;
bsf EECON1,WREN ; préparation pour écriture
bcf INTCON,GIE ; couper les interruptions
movlw H'55' ; séquence spécifique (c'est comme ça, il faut le savoir)
movwf EECON2 ; séquence spécifique
movlw H'AA' ; séquence spécifique
movwf EECON2 ; séquence spécifique
bsf EECON1,WR ; lance une opération d'écriture
btfsc EECON1,WR ; assurer que l'écriture est terminé
goto $-D'1' ;
bcf EECON1,WREN ; interdiction de l'écriture
;bsf INTCON,GIE ; restaurer les interruptions si activé
return
;******************************** "pour lire dans l'eeprom" ************************************
lecture_eeprom
BANKSEL EEADRL ; passer en bank 3
movlw adresse_low
movwf EEADRL ; adresse du poids faible
movlw adresse_hi
movwf EEADRH ; adresse du poids fort
bcf EECON1,EEPGD ; préparation à l'autorisation
bcf EECON1,CFGS ; accédés en eeprom
bcf INTCON,GIE ; couper les interruptions
bsf EECON1,RD ; lecture de l'EEPROM
nop ; laisser le temps de lire les données
nop
movf EEDATL,W ; la donnée du poids faible est récupéré
movwf donner_low
movf EEDATH,W ; la donnée du poids fort est récupéré
movwf donner_hi ;
;bsf INTCON,GIE ; restaurer les interruptions si activé
return
;***********************************************************************************************
end
Y a t'il un remède miracle, ou faut t'il que j'aille à Lourdes


pour ta réponse, mais malgré le retrait de ceci