"A chaque jour suffit sa peine " ..
encore un exemple d'effet de bords inexpliqué ..
Apres un chargement du programme,
je verifie que l'init complete des donnees de mon programme a été faites au moins une fois..
je me sert d'une valeur Eeeprom adresse 0 comme flag pour tester si l'init des parametres application ont été faits
au moins 1 fois !
si contient 99 => init déja faite
si contient 0 ou 0xFF => pas d'init faite
avec le test suivant, tout le reste de mon programme est OK
Code : Tout sélectionner
c1=EEPROM_Read(0); Delay_ms(25);
if (c1==0)
{
Toute_Premiere_Init();
}
else
{
CPrint(" Restitue Parametrage\r\n");
Restitue_Parametres_en_Eeprom(); // dont le nb de sabotage !
}
on voit que la 1ere init a été réalisée..OK
Presentation :
Directory :C:\_MikroC\_MesProjets_MikroC\CLAVIER_18F27K42_2021
MikroC pro 7.60
Projet :Clavier_18F27K42_DIGIT_V4-V6_2022-01xx.mcppi
Config bit : P18F27K42_Fosc_interne_with_PLL_64MHz_Vectored_IT.cfgsch
Eeprom: En Flash @ 310 0000 à 310 03FFF.
Source : Clavier_DIGIT4000_18F27K42_V4_V6_2022-0111.c
Clavier Mecanique Matrice 4x3 touches
18F27K42 UART1 115200
NCO output sur RC0 -> Buzzer Piezzo
Usage Interrupt Vectors
Relais Monostables 1,2,3,4 sur 1 sec
Config Application BlueElectronics :
DigitCode_4000_2021-1206.kwl
*V Version 2022-0111*
Etat Pin RB7=0 et Pin RB6= 0
Pas d'extension Entree/Sortie avec RA7
*W *;*U *;*BR0G0B0*;*E *;*O *;*Y *;*LR0G0B0*;*RR0G0B0*;*PR0G0B0*;
Etat Reset Distant=1
Init Generateur de Frequence NCO ,sortie RC0 => Buzzer piezo
Init Timer4_for_Alarme
1ere Init car flag adresse 0x0000 EEprom different de 99
Premiere Init.
Saisir code Progr.0000 (4 digits)
Attente 4 frappes clavier
.Idx=*T 1*;*G0*;
alors qu'avec ce test :
Code : Tout sélectionner
c1=EEPROM_Read(0); Delay_ms(25);
if (c1==99)
{
CPrint(" Restitue Parametrage\r\n");
Restitue_Parametres_en_Eeprom(); // dont le nb de sabotage !
}
else
{
Toute_Premiere_Init();
}
ça bigorne mon texte de presentation ...
Code : Tout sélectionner
Presentation :
[highlight=yellow]áoÑ+ï×ÐQÎ%ánÑQÏ!ânæjÐ_oÐÐQâÓo¤ï&ðð:8
&8ð
n[/highlight]
*V Version 2022-0111*
Etat Pin RB7=0 et Pin RB6= 0
Pas d'extension Entree/Sortie avec RA7
*W *;*U *;*BR0G0B0*;*E *;*O *;*Y *;*LR0G0B0*;*RR0G0B0*;*PR0G0B0*;
Etat Reset Distant=1
Init Generateur de Frequence NCO ,sortie RC0 => Buzzer piezo
Init Timer4_for_Alarme
1ere Init car flag adresse 0x0000 EEprom different de 99
Premiere Init.
Saisir code Progr.0000 (4 digits)
Attente 4 frappes clavier
.Idx=*T 1*;*G0*;
.Idx=*T 2*;*G0*;
si je reduis mon code , juste apres ce test ( mise en commentaire du reste de code ..jusqu'à la fin du main programme)
le déroulement du programme est OK
si je valide le parametrage et fais un reset
je me retouve bien avec 99 dans l'eeprom
et m'affiche les parametres précédement sauvegardés
et ce meme avec le test bigornant ma présentation
Code : Tout sélectionner
Presentation :
[b]áoÑ+ï×ÐQÎ%ánÑQÏ!ânæjÐ_oÐÐQâÓo¤ï&ðð:8
&8ð
n[/b]
*V Version 2022-0111*
Etat Pin RB7=0 et Pin RB6= 0
Pas d'extension Entree/Sortie avec RA7
*W *;*U *;*BR0G0B0*;*E *;*O *;*Y *;*LR0G0B0*;*RR0G0B0*;*PR0G0B0*;
Etat Reset Distant=1
Init Generateur de Frequence NCO ,sortie RC0 => Buzzer piezo
Init Timer4_for_Alarme
[highlight=yellow] Restitue Parametrage[/highlight]
Read flag @0x00 = 99
MSabotage <-- @0x10 = 0
Restitue datas eeprom : Cde Progr. et 4 Cdes Relais
Cde #0 @0020 2870 [highlight=yellow]<-- code precedement entré ..OK[/highlight]
Cde #1 @0024
Cde #2 @0028
Décidément .. impossible de savoir si c'est un probleme de compilateur ou de neurones ?
Beaucoup de temps perdu ... je vais donc rester sur le test c1==0


MikroC= obsolescence programmée... au bout de 8 ans