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 ---
Modérateur : mazertoc
Ecran OLED rond GC9A01
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Bonjour Paul et tout le forum
C'est une déclaration de Guerre
On devrait arriver rapidement a faire tourner ses écrans
Même constructeur : Le jeu d'instructions est pratiquement identique, pas eu le temps de tout regarder
Un lien qui va bien : https://dronebotworkshop.com/gc9a01/
Pas eu le temps de jouer aujourd'hui, j’ai un ampli dans l’atelier qui me résiste
Question complémentaires :
Dans MPLAB peut-on configurer en fixe la tension de programmation à 3.3v sans passer par un modif à chaque nouveau projet ?
Peut-on par macro créer des variables de ce type ?
ESSAI Macro 0xffff, 0xffff ok , merci Satinas
VAR1 = 0xfffff
VAR2 = 0xAAAA
ESSAI Macro VAR1,VAR2 ?
+A
Francois
C'est une déclaration de Guerre
On devrait arriver rapidement a faire tourner ses écrans
Même constructeur : Le jeu d'instructions est pratiquement identique, pas eu le temps de tout regarder
Un lien qui va bien : https://dronebotworkshop.com/gc9a01/
Pas eu le temps de jouer aujourd'hui, j’ai un ampli dans l’atelier qui me résiste
Question complémentaires :
Dans MPLAB peut-on configurer en fixe la tension de programmation à 3.3v sans passer par un modif à chaque nouveau projet ?
Peut-on par macro créer des variables de ce type ?
ESSAI Macro 0xffff, 0xffff ok , merci Satinas
VAR1 = 0xfffff
VAR2 = 0xAAAA
ESSAI Macro VAR1,VAR2 ?
+A
Francois
Ecran OLED rond GC9A01
Bonsoir,
Avec un PicKit on a pas à s'occuper de la tension de programmation, elle dépend du type de pic, MPLABX la connait et en tient compte lors de la programmation. C'est le meilleur moyen pour ne rien griller. On peut modifier la tension dans les propriétés du projet PicKit3/Power, je ne sais pas si cela change quelque chose.
Je n'ai pas bien compris la question sur la macro, tout est possible par macro.
Par exemple, si VAR1 et VAR2 sont des variables déjà déclarées, et on veut créer les variables A1, A2,A3.
MAKE_V_A macro v,adr ; création d'une variable à une adresse précise
v equ adr
endm
MAKE_2V macro v1,v2 ; création de 2 variables en cblock
cblock
v1 : 1
v2 : 1
endc
endm
RAZ_2V macro v1, v2 ; raz 2 variables
clrf v1
clrf v2
endm
SET_2VAR macro val1, val2 ; set variables VAR1 et VAR2
movlw val1
movwf VAR1
movlw val2
movwf VAR2
endm
Dans la zone data :
MAKE_V_A A1,0x10 ; création variable A1 en 0x10
MAKE_2V A2,A3 ; création des variables A2,A3
Dans la zone code :
RAZ_2V A1, A2 ; raz variables A1,A2
RAZ_2V VAR1, VAR2 ; raz variables VAR1,VAR2
SET_2VAR Oxff, 0xaa ; set variables VAR1,VAR2
Avec un PicKit on a pas à s'occuper de la tension de programmation, elle dépend du type de pic, MPLABX la connait et en tient compte lors de la programmation. C'est le meilleur moyen pour ne rien griller. On peut modifier la tension dans les propriétés du projet PicKit3/Power, je ne sais pas si cela change quelque chose.
Je n'ai pas bien compris la question sur la macro, tout est possible par macro.
Par exemple, si VAR1 et VAR2 sont des variables déjà déclarées, et on veut créer les variables A1, A2,A3.
MAKE_V_A macro v,adr ; création d'une variable à une adresse précise
v equ adr
endm
MAKE_2V macro v1,v2 ; création de 2 variables en cblock
cblock
v1 : 1
v2 : 1
endc
endm
RAZ_2V macro v1, v2 ; raz 2 variables
clrf v1
clrf v2
endm
SET_2VAR macro val1, val2 ; set variables VAR1 et VAR2
movlw val1
movwf VAR1
movlw val2
movwf VAR2
endm
Dans la zone data :
MAKE_V_A A1,0x10 ; création variable A1 en 0x10
MAKE_2V A2,A3 ; création des variables A2,A3
Dans la zone code :
RAZ_2V A1, A2 ; raz variables A1,A2
RAZ_2V VAR1, VAR2 ; raz variables VAR1,VAR2
SET_2VAR Oxff, 0xaa ; set variables VAR1,VAR2
Modifié en dernier par satinas le mer. 22 févr. 2023 22:07, modifié 1 fois.
Ecran OLED rond GC9A01
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Ecran OLED rond GC9A01
Bonjour à tous,
Ce qu'il manque c'est la possibilité de transmettre à une macro un nombre d'arguments variable. A l'intérieur de la macro une valeur NbArg permettrait de modifier son comportement selon le nombre d'arguments fournis.
J'utilise les macros et l'assembleur de façon basique. Tu devrais regarder les messages de JJE, il a beaucoup travaillé sur la programmation modulaire et a utilisé toutes les finesses de MPASM, il a dû se sentir un peu seul, on ne le voit plus.
Ce qu'il manque c'est la possibilité de transmettre à une macro un nombre d'arguments variable. A l'intérieur de la macro une valeur NbArg permettrait de modifier son comportement selon le nombre d'arguments fournis.
J'utilise les macros et l'assembleur de façon basique. Tu devrais regarder les messages de JJE, il a beaucoup travaillé sur la programmation modulaire et a utilisé toutes les finesses de MPASM, il a dû se sentir un peu seul, on ne le voit plus.
Ecran OLED rond GC9A01
Bonsoir satinas, francois77, et tout le forum,
JJE à peut être eu des problèmes de santé..... Il m'a repris sur beaucoup de chose, on me démontrant que savait fait des erreurs dans certaine routines ASM.
Dommage qu'on le voit pu ici
A+
satinas a écrit :Source du message il a dû se sentir un peu seul, on ne le voit plus.
JJE à peut être eu des problèmes de santé..... Il m'a repris sur beaucoup de chose, on me démontrant que savait fait des erreurs dans certaine routines ASM.
Dommage qu'on le voit pu ici
A+
Ecran OLED rond GC9A01
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Bonjour
JJE
J'ai regardé un peu le travail de JJE , j'ai un escalier a monter encore ....
MPLAB/icd3
l'écran étant en 3v3, je sui obligé de programmer mon 18f26k23 en 3.3v sur mon montage d' essai
Les Macros
C'est pas claire dans ma tête pour l'instant, donc je vais temporiser
Ecran GC9A01
j'avais fait une lecture rapide des codes, cela ressemble mais la structure est différente pour la phase init
j'ai au moins fait la maquette
Conclusion : j'ai du taf devant moi
A+
Francois
JJE
J'ai regardé un peu le travail de JJE , j'ai un escalier a monter encore ....
MPLAB/icd3
l'écran étant en 3v3, je sui obligé de programmer mon 18f26k23 en 3.3v sur mon montage d' essai
Les Macros
C'est pas claire dans ma tête pour l'instant, donc je vais temporiser
Ecran GC9A01
j'avais fait une lecture rapide des codes, cela ressemble mais la structure est différente pour la phase init
j'ai au moins fait la maquette
Conclusion : j'ai du taf devant moi
A+
Francois
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Ecran OLED rond GC9A01
Bonjour François, Temps-x and co
Pour les macros, le préprocesseur triture le programme en remplaçant des morceaux de texte et produit un texte étendu envoyé à la phase d'assemblage qui n'accepte que des data et des instructions. Il y a aussi des directives MPASM avec variables qu'a beaucoup utilisés JJE, qui font un peu la même chose, jamais pratiqué pour ma part.
Il ne faut pas confondre la tension d'alimentation Vdd du pic, et la tension de programmation Vpp, plus élevée et appliquée sur MCLR lors de la programmation. Vdd est réglable dans MPLABX si on coche "pic alimenté par le programmateur", et il ne doit pas y avoir d'autres sources d'alimentation. Je pense pas qu'on puisse changer la tension de programmation.
Il y a aussi un autre mode de programmation, LVP qui se contente de Vdd pour programmer, si j'ai bien compris. Voilà une doc que j'avais écrite là-dessus, aussitôt écrite, aussitôt oubliée J'espère que c'est correct.
Pour les macros, le préprocesseur triture le programme en remplaçant des morceaux de texte et produit un texte étendu envoyé à la phase d'assemblage qui n'accepte que des data et des instructions. Il y a aussi des directives MPASM avec variables qu'a beaucoup utilisés JJE, qui font un peu la même chose, jamais pratiqué pour ma part.
Il ne faut pas confondre la tension d'alimentation Vdd du pic, et la tension de programmation Vpp, plus élevée et appliquée sur MCLR lors de la programmation. Vdd est réglable dans MPLABX si on coche "pic alimenté par le programmateur", et il ne doit pas y avoir d'autres sources d'alimentation. Je pense pas qu'on puisse changer la tension de programmation.
Il y a aussi un autre mode de programmation, LVP qui se contente de Vdd pour programmer, si j'ai bien compris. Voilà une doc que j'avais écrite là-dessus, aussitôt écrite, aussitôt oubliée J'espère que c'est correct.
Code : Tout sélectionner
--------------------------------------------------------------------------------
programmation pic ICSP
--------------------------------------------------------------------------------
- programmation high voltage Vpp sur MCLR (8 à 14V selon pic) :
- 2 façons d'entrer dans ce mode, entrée Vpp ou entrée Vdd.
- entrée Vdd : CLK=DAT=0 VDD=0 MCLR=0, VDD=Vdd, MCLR=Vpp
sortie : MCLR=0, VDD=0
permet de passer en mode programmation sans mettre hors tension le montage.
- entrée Vpp : CLK=DAT=0 VDD=0 MCLR=0, MCLR=Vpp, VDD=Vdd
sortie : VDD=0, MCLR=0
permet d'éviter que le pic n'exécute du code avant l'entrée en mode programmation.
- programmation low voltage Vdd :
- entrée : MCLR=0, envoi série sur CLK/DAT de la séquence 32 bits 0x4d434850.
sortie : MCLR=VDD
- bit LVP dans config hardware du pic :
- par défaut LVP est à 1, seule la programmation high voltage peut le modifier.
- si LVP = 0, le pic se programme uniquement en high voltage.
la pin peut être déclarée en input avec MCLRE=0, elle doit cohabiter avec le PicKit.
- si LVP = 1, le pic se programme soit en high voltage, soit en low voltage Vdd.
la pin MCLR reste MCLR, quelle que soit la valeur de MCLRE.
Ecran OLED rond GC9A01
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Bonjour Satinas,
Explication clair pour moi pour l'alimentation , mais j'avais un doute et pas envie de claquer l'écran.
Ci joint une copie de l'écran de MPLAB pour l'alimentation qui n'est pas active dans mon cas (alimentation par la maquette )
j'ai repris la mécanique de ma maquette pour l'écran et commencé a regarder l'init de l'écran.
Pas très clair pour l'instant cette séquence d'init et des commandes non décrites dans la doc , mais Paul aura peut-être plus d'info
A suivre
Francois
Explication clair pour moi pour l'alimentation , mais j'avais un doute et pas envie de claquer l'écran.
Ci joint une copie de l'écran de MPLAB pour l'alimentation qui n'est pas active dans mon cas (alimentation par la maquette )
j'ai repris la mécanique de ma maquette pour l'écran et commencé a regarder l'init de l'écran.
Pas très clair pour l'instant cette séquence d'init et des commandes non décrites dans la doc , mais Paul aura peut-être plus d'info
A suivre
Francois
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 16 invités