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 ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

Ecran OLED rond GC9A01
francois77
Passionné
Passionné
Messages : 307
Enregistré en : avril 2022

#31 Message par francois77 » mer. 22 févr. 2023 20:56

Bonjour Paul et tout le forum

C'est une déclaration de Guerre humour!!

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
satinas
Expert
Expert
Messages : 1489
Enregistré en : novembre 2015

#32 Message par satinas » mer. 22 févr. 2023 21:50

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
Modifié en dernier par satinas le mer. 22 févr. 2023 22:07, modifié 1 fois.

Ecran OLED rond GC9A01
francois77
Passionné
Passionné
Messages : 307
Enregistré en : avril 2022

#33 Message par francois77 » mer. 22 févr. 2023 22:02

Bonsoir,

Tu est trop fort Merci

je regarderais demain matin avec précision pour les macros

Pour les tensions j'ai un ICD3 et je vais creuser

Bonne soirée

Ecran OLED rond GC9A01
satinas
Expert
Expert
Messages : 1489
Enregistré en : novembre 2015

#34 Message par satinas » jeu. 23 févr. 2023 08:37

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.

Ecran OLED rond GC9A01
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2889
Enregistré en : juillet 2016
Localisation : Terre

#35 Message par Temps-x » ven. 24 févr. 2023 01:22

Bonsoir satinas, francois77, et tout le forum,

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 :cry:

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Ecran OLED rond GC9A01
francois77
Passionné
Passionné
Messages : 307
Enregistré en : avril 2022

#36 Message par francois77 » ven. 24 févr. 2023 07:37

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
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Ecran OLED rond GC9A01
satinas
Expert
Expert
Messages : 1489
Enregistré en : novembre 2015

#37 Message par satinas » ven. 24 févr. 2023 08:28

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.

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
Passionné
Passionné
Messages : 307
Enregistré en : avril 2022

#38 Message par francois77 » ven. 24 févr. 2023 11:31

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 )

Capture.PNG


j'ai repris la mécanique de ma maquette pour l'écran et commencé a regarder l'init de l'écran.

IMG.jpg


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.

Ecran OLED rond GC9A01
francois77
Passionné
Passionné
Messages : 307
Enregistré en : avril 2022

#39 Message par francois77 » ven. 24 févr. 2023 14:38

Bonjour a tous

L'ASM le langage le plus rapide du monde humour!!
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Ecran OLED rond GC9A01
satinas
Expert
Expert
Messages : 1489
Enregistré en : novembre 2015

#40 Message par satinas » ven. 24 févr. 2023 15:35

Chapeau, tu es devenu un pro des écrans !
Je note quand même que tu te dopes à la substance vosgienne, trop facile :-)


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité