Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
12F675 et OSCCAL
- Gérard
Expert- Messages : 1705
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
Bonjour à tous,
Je souhaite un programme minimal et OSCCAL me pose problème.
PICKit3 me dit Invalid Value.
Le mot de config :
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, MCLRE_ON, BODEN_OFF, CP_OFF, CPD_OFF
Dans l'initialisation avec
OSCCAL = %10000000
OSCCAL = %100000000
ou pas de valeur, c'est la même chose.
Merci pour vos suggestions.
Je souhaite un programme minimal et OSCCAL me pose problème.
PICKit3 me dit Invalid Value.
Le mot de config :
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, MCLRE_ON, BODEN_OFF, CP_OFF, CPD_OFF
Dans l'initialisation avec
OSCCAL = %10000000
OSCCAL = %100000000
ou pas de valeur, c'est la même chose.
Merci pour vos suggestions.
12F675 et OSCCAL
Re,
je n'ai pas beaucoup travaillé avec ce type de référence, et en plus ça fait très longtemps.
Si je comprend bien, le problème vient du programme qui gère le PICkit, et non pas du compilateur.
Il me semble me souvenir que certains PIC anciens avaient leur oscillateur interne calibré individuellement en usine, et comme cette calibration est stockée dans la Flash, par définition lors d'une programmation est est effacée.
Pour éviter de perdre cette calibration, le programme du PICkit proposait en option la possibilité de sauvegarder cette valeur avant l'effacement de la Flash, puis de la "réinjecter" au moment de la programmation.
Il y a peut-être un conflit entre la valeur que le PICkit récupère et celle qui se trouve dans le fichier hex
Une autre chose à peut-être regarder : j'ai un vieux demi souvenir qui me dit que la valeur de calibration est stockée à la fin de la Flash, et il y a une histoire de transfert de cette valeur dans le registre OSCCAL, mais je ne sais plus à quel moment et dans quelles circonstances. C'est un souvenir extrêmement flou !
Tous ce que j'ai dis n'a peut-être rien à voir, et comporte peut-être des erreurs, car ce sont de très vieux souvenirs sur des choses que je n'ai pratiquement jamais utilisé.
Es-tu vraiment sûr que le problème vient de OSCCAL ?
Fait une copie écran du message
Si autre chose me reviens, je te ferais signe
P.S. : la calibration "neutre" est OSCCAL = %10000000
je n'ai pas beaucoup travaillé avec ce type de référence, et en plus ça fait très longtemps.
Si je comprend bien, le problème vient du programme qui gère le PICkit, et non pas du compilateur.
Il me semble me souvenir que certains PIC anciens avaient leur oscillateur interne calibré individuellement en usine, et comme cette calibration est stockée dans la Flash, par définition lors d'une programmation est est effacée.
Pour éviter de perdre cette calibration, le programme du PICkit proposait en option la possibilité de sauvegarder cette valeur avant l'effacement de la Flash, puis de la "réinjecter" au moment de la programmation.
Il y a peut-être un conflit entre la valeur que le PICkit récupère et celle qui se trouve dans le fichier hex
Une autre chose à peut-être regarder : j'ai un vieux demi souvenir qui me dit que la valeur de calibration est stockée à la fin de la Flash, et il y a une histoire de transfert de cette valeur dans le registre OSCCAL, mais je ne sais plus à quel moment et dans quelles circonstances. C'est un souvenir extrêmement flou !
Tous ce que j'ai dis n'a peut-être rien à voir, et comporte peut-être des erreurs, car ce sont de très vieux souvenirs sur des choses que je n'ai pratiquement jamais utilisé.
Es-tu vraiment sûr que le problème vient de OSCCAL ?
Fait une copie écran du message
Si autre chose me reviens, je te ferais signe
P.S. : la calibration "neutre" est OSCCAL = %10000000
12F675 et OSCCAL
Je te mets 2 fichiers hex pour le 12F675, tu peux essayer de les charger dans ton PIC, de toute manière tu n'as rien a perdre.
Attention : il faut programmer le PIC en dehors de ton PCB, car les entrées et les sorties ne correspondent pas forcément à ce que tu utilises dans ton projet
Attention : il faut programmer le PIC en dehors de ton PCB, car les entrées et les sorties ne correspondent pas forcément à ce que tu utilises dans ton projet
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
12F675 et OSCCAL
12F675 et OSCCAL
Bonsoir Roger, Gérard, et tout le forum,
Cette valeur est pour la précision de l'horloge interne qui est de 1%, si la valeur n'est pas la bonne cela va influencer sur les timings qui seront erronés.
Pour un Pic12F675, au démarrage, chaque programme doit lire la valeur stockée en mémoire programme, puis l'écrire dans le registre OSCCAL.
En ASM, pour la lire et l'écrire, voci le code
Comme je sais que tu adores Asm, j'en profite
A+
Cette valeur est pour la précision de l'horloge interne qui est de 1%, si la valeur n'est pas la bonne cela va influencer sur les timings qui seront erronés.
Pour un Pic12F675, au démarrage, chaque programme doit lire la valeur stockée en mémoire programme, puis l'écrire dans le registre OSCCAL.
En ASM, pour la lire et l'écrire, voci le code
Code : Tout sélectionner
ORG H'00'
goto debut
ORG H'04'
retfie
debut
BANKSEL OSCCAL ; passer en bank1
call 3FFh ; lire la valeur qui va être enregistrer dans W
movwf OSCCAL ; récupérer la valeur d'usine
Comme je sais que tu adores Asm, j'en profite
A+
12F675 et OSCCAL
12F675 et OSCCAL
- Gérard
Expert- Messages : 1705
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
Bonjour à tous,
Cet AM , quelques essais et ... rien ne fonctionne.
J'ai mis le début comme tu le disais Temps-x. Le PIC se programme mais la LED ne clignote pas.
Programme simple :
Asm
BANKSEL OSCCAL
call 3FFh
movwf OSSCAL
EndAsm
DEBUT:
LED = 1
Tempo 500ms
LED = 0
Tempo 500ms
Goto DEBUT
Essai sur ordi avec Win11 :
Avant la programmation, j'ai fait une lecture pour voir l'adresse 3FF, après programmation, j'ai vérifié que la valeur était toujours présente, ça c'est bon.
Mais la LED ne clignote pas.
Ordi avec XP :
Essai avec d'autres 12F, sur mon vieil ordi, la lecture me donnait n'importe quoi alors que le PIC est neuf. Après relance de la machine, on retrouve 3FF comme avant sur l'autre ordi. Programmation mais la LED ne clignote pas.
Faut-il mettre PICKit2 en doute?
Plus le temps d'essayer avec PICKit 3.
Et demain, les jumeaux débarquent donc WE trèèèès chargé.
A la semaine prochaine pour de nouvelles aventures.
Et merci pour vos réflexions et suggestions.
Cet AM , quelques essais et ... rien ne fonctionne.
J'ai mis le début comme tu le disais Temps-x. Le PIC se programme mais la LED ne clignote pas.
Programme simple :
Asm
BANKSEL OSCCAL
call 3FFh
movwf OSSCAL
EndAsm
DEBUT:
LED = 1
Tempo 500ms
LED = 0
Tempo 500ms
Goto DEBUT
Essai sur ordi avec Win11 :
Avant la programmation, j'ai fait une lecture pour voir l'adresse 3FF, après programmation, j'ai vérifié que la valeur était toujours présente, ça c'est bon.
Mais la LED ne clignote pas.
Ordi avec XP :
Essai avec d'autres 12F, sur mon vieil ordi, la lecture me donnait n'importe quoi alors que le PIC est neuf. Après relance de la machine, on retrouve 3FF comme avant sur l'autre ordi. Programmation mais la LED ne clignote pas.
Faut-il mettre PICKit2 en doute?
Plus le temps d'essayer avec PICKit 3.
Et demain, les jumeaux débarquent donc WE trèèèès chargé.
A la semaine prochaine pour de nouvelles aventures.
Et merci pour vos réflexions et suggestions.
12F675 et OSCCAL
Bonsoir Gérard, et tout le forum,
Code en ASM pour Pic12F675 faire clignoter une led sur toutes les pattes qui peuvent être en sortie, téléchargement ICI
Faut pas se poser de question... on sait à qui il resemble maintenant
A+
Code en ASM pour Pic12F675 faire clignoter une led sur toutes les pattes qui peuvent être en sortie, téléchargement ICI
Gérard a écrit :Source du message Et demain, les jumeaux débarquent donc WE trèèèès chargé.
Faut pas se poser de question... on sait à qui il resemble maintenant
A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
12F675 et OSCCAL
Temps-x a écrit :Faut pas se poser de question... on sait à qui il resemble maintenant
A+
Hum..... Gérard peut être
@++
12F675 et OSCCAL
Bonjour venom, Gérard, et tout le forum,
Gérard est occupé avec ses jumeaux on peut y aller, on risque rien...
Que veux tu .... c'est génétique.... !! on peut rien faire... il resembleront à leurs Grand pére (Gérard), ce qui nous ferait trois Gérard !!!
Pour bien comprendre suffit de voir cette illustration
Ça fait quand même peur la génétique, vu le nombre de copie quand peur faire de soit même ....
A+
Gérard est occupé avec ses jumeaux on peut y aller, on risque rien...
Que veux tu .... c'est génétique.... !! on peut rien faire... il resembleront à leurs Grand pére (Gérard), ce qui nous ferait trois Gérard !!!
Pour bien comprendre suffit de voir cette illustration
Ça fait quand même peur la génétique, vu le nombre de copie quand peur faire de soit même ....
A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Retourner vers « Coin Fourre-tout »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 29 invités