vu la piteuse precision de 2 thermometres soit-disant medicaux avec un micro ecran LCD
(provenant probablement de RPC )
je viens de faire une petite appli pour Thermometre Corporel
on est pas obligé de le mettre là ou ça fait mal !comme avant , avec le thermometre à mercure (pourtant si precis!)
mais pour avoir une bonne valeur ABSOLUE
j'ai besoin de stocker un Offset de calibration pourcette application
d'ou ce post pour pouvoir utiliser la zone HEF High Endurance Flash d'un 16F1619
occupant l'espace 0x1F80 à 0x1FFF soit 128 bytes
cette zone remplace l'habituelle EEPROM
mais a la particularité d'etre organisée avec des rangees de 32 bytes
autre particularité
La flash ROM etant organisée sur 14 bits, occupe 2 bytes , et donc seul le byte de poids faible est utile
document microchip lié à HEF : AN1673
Using the PIC16F1XXX High-Endurance Flash (HEF) Block note AN1673
EEPROM-LIKE USE OF THE HIGHENDURANCE FLASH
docu tres bien faite !
MikroC , bien sur, ne propose RIEN la_dessus ..j'ai aussi ouvert un post sur le forum MikroC
J'ai pu verifier que je pouvais ecrire dans cette zone HEF via l'outil MPLAB IPE (qui sert d'ailleur avec PIckit4
à charger le programme dans le 16F1619!)
et j'ai donc commencer à ecrirte un programme de test , que je joins ci-dessous ..
mais le compilo fait la gueule et me renvoi un code d'erreur ..
15 304 error: Unterminated character constant 're on the last of 32 addresses, skipped the line C:\_MikroC\_MesProjets_MikroC\_16F1619_LCD1602_OLED_I2C_UART\_16F1619_HEF_Read_Write_Test_200322.c
que je n'arrive pas à interpreter , si ce n'est qu'il vient de mon codage ASM ..
( SOS envoyé à Temps_X)
plus de chance à la peche sur le web, ce matin , je viens de trouver cecic'est du Basic Pro ?
avec mikroC
BANKSEL est inconnu , j'utilise movlb 3 .. est ce correct ?
de meme je ne peux pas declarer un pointeur d'adresse absolue sur la zone 0x1F80
comme dans cet exemple
HeF_START CON 8160 ; 0X1FE0 START ADDRESS OF HE_FLASH to use [start of row]
avec MPLAB IPE , dans le parametrage
je pense qu'il faut aussi limiter l'ecriture programme dans la zone 000- 0x1F7F
et valider la zone 0x1F80 ..1FFF
sinon le code compilé par MikroC , va tout ecrabouiller
puisque MikroC ne propose pas la differenciation Programme et HEF


vu le prix ça va attendre,
Merçi de te préoccupper de mon cas