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 LCD ILI9341 pour les nuls en assembleur
francois77
Passionné
Passionné
Messages : 307
Enregistré en : avril 2022

#31 Message par francois77 » dim. 19 févr. 2023 17:32

Bonjour a tous

Petit point d'avancement

j'arrive maintenant a écriture des chaines de caractères type 0123...

en utilisant le format DT "012345678!#$%&' ; )*+,-./@A"

Par contre pour les caractères spéciaux type " [ ] , pas possible de les compiler

Comment faire pour les intégrer dans une chaine ?

Pour Temps-x : pour l'appel des différents tableaux, j'utilise des sauvegardes/restauration des adresses.

Bcl_chaine
tblrd*+ ; effectue la lecture, et ensuite incrémente TBLPTR
movff TABLAT,Val_Tab
tblrd*+

movff TBLPTRL ,TBLPTRL_SAU
movff TBLPTRH ,TBLPTRH_SAU

call Ecrit_Caractere ==> qui fait appel encore a tblrd* sur un autre tableau

movff TBLPTRL_SAU , TBLPTRL
movff TBLPTRH_SAU ,TBLPTRH
;
decfsz Cpt_Caractere ; decf la hauteur et la largeur du caractere
bra Bcl_chaine

A+
Francois
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Ecran LCD ILI9341 pour les nuls en assembleur
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2900
Enregistré en : juillet 2016
Localisation : Terre

#32 Message par Temps-x » dim. 19 févr. 2023 17:58

Bonsoir francois77, et tout le forum,

francois77 a écrit :Source du message Pour Temps-x : pour l'appel des différents tableaux, j'utilise des sauvegardes/restauration des adresses


C'est la seule solution, voici comment j'avais procédé

Code : Tout sélectionner


     CBLOCK H
'20'                          ; bank0  
stock               
:3
    ENDC

;********************************** "sauvegarde de l'endroit" **********************************
      movf TBLPTRU,W                      ; 
      movwf stock
+2
      
      movf TBLPTRH
,W                      ; 
      movwf stock
+1

      movf TBLPTRL
,W
      movwf stock
+0          

;********************************* "restauration de l'endroit" *********************************
      movf stock+2,W
      movwf TBLPTRU
    
      movf stock
+1,W
      movwf TBLPTRH

      movf stock
+0,W               
      movwf TBLPTRL



Attention avec l'utilisation du movff, ça ne fonction pas toujours.

francois77 a écrit :Source du message Par contre pour les caractères spéciaux type " [ ] , pas possible de les compiler


:roll: Bizare ton truc... normalement ça n'a rien à voir avec la compilation. faut faire comme pour un écran oled (créer tes fonts ou la prendre sur une base créer pour cette écran)

Enfin tu progresses, humour!! de 0 tu est passé à 8, A quand, le 20 sur 20 !! dehors!!

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

Ecran LCD ILI9341 pour les nuls en assembleur
satinas
Expert
Expert
Messages : 1497
Enregistré en : novembre 2015

#33 Message par satinas » dim. 19 févr. 2023 18:10

Bonjour François et Temps-x,

Je vois que ça avance bien, superbe.
Tu es toujours sur le petit écran rond ?

DT "012345678!#$%&' ; )*+,-./@A [] \" \\"
J'ai essayé cette ligne dans MPLAB et MPLABX, elle ne produit pas d'erreur.
Entre les guillemets on doit pouvoir mettre tous les caractères sauf " et \
Pour les intégrer à la chaîne il faut placer devant le caractère d'échappement \ donc \" et \\

Tu utilises quel environnement et quel est le message d'erreur ?

Ecran LCD ILI9341 pour les nuls en assembleur
francois77
Passionné
Passionné
Messages : 307
Enregistré en : avril 2022

#34 Message par francois77 » dim. 19 févr. 2023 18:27

Hello,

Trop rapide vos réponses (merci)

MMPLAB V5.3

Pour cette ligne pas de problème a la compilation DT "012345678!#$%&' ; )*+,-./@A [] \" \\"

Merci Satinas : il y a juste les caractères " et \ qui posait problème

Dt "\"\\ !#$%&'(); *+,-./0123456789:;<=>?@[\\\\]^_`{|}~"

c'est ok maintenant

Pour Temps-X

Attention avec l'utilisation du movff, ça ne fonction pas toujours.

---> Codage sur 2 octet

tblrd*+ ; effectue la lecture, et ensuite incrémente TBLPTR
movff TABLAT,Val_Tab
tblrd*+

A+

Ecran LCD ILI9341 pour les nuls en assembleur
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2900
Enregistré en : juillet 2016
Localisation : Terre

#35 Message par Temps-x » dim. 19 févr. 2023 18:39

Re

Je pense que ça viens de MPLAB, comme j'utilise pas MPLAB j'ai pas ce problème

Je viens d'essayer, tout se compile, le seule caractère qui ma posé problème c'est celui-ci " j'ai contourné le problème en mettant un numéro de la table ASCII qui correspond à 34

Ça fonctionne chez moi

dt "012345678!#$%&' ; )*+,-./@A [] \ \\ (°){[]~|è@{}"+34



movff est une instruction de 32 bits, mais par exemple, il est interdit de faire ceci

movff variable,PCL

On doit faire comme ceci pour ce cas de figure

movf variable,w
movwf PCL


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

Ecran LCD ILI9341 pour les nuls en assembleur
francois77
Passionné
Passionné
Messages : 307
Enregistré en : avril 2022

#36 Message par francois77 » lun. 20 févr. 2023 16:26

Bonjour a tous

Petite astuce pour les messages, suite a vos précédentes réponses

Message_1 ;
DT "Francois" +0xFA ;

Message_2
Dt "\" !#$%&'(); *+,-./0123456789:;<=>?@[\\]^_`{|}~"+0xFA

Mon problème pour les messages c'est qu'il fallait noter le nombre de caractères a lire
j'ai utilisé l'astuce de Temp-x pour autre chose
Maintenant, mes chaines de caractères seront complétées d'un caractère supplémentaire 0XFA ( ou autre chose, mais diffèrent d'un code caractère)

Lorsque je lit mon message je boucle mes caractères tant que je n'ai pas 0XFA

Simple et pratique

Pour Satinas, j'ai mis un message avec tous les caractères spéciaux et utilisé le \ sur les " et \

A+

Francois

Ecran LCD ILI9341 pour les nuls en assembleur
francois77
Passionné
Passionné
Messages : 307
Enregistré en : avril 2022

#37 Message par francois77 » lun. 20 févr. 2023 17:06

Encore moi .....

Comment câbler l'écran ILI9341 pour la led, car je ne comprends pas a quoi sert cette résistance 2.7k sur le schema de Paul

--> La résistance a peut être pour but de l'imiter l'éclairage ?

Alimentation 3.3V (retenue sur ma maquette)

http://paulfjujo.free.fr/_Touch_Screen_ ... Fxxkxx.htm

Avez vous une idée ?

A+
Francois



En complément, car je viens de recevoir mon écran

A priori il est possible de le faire fonctionner en 3.3v ou en 5v

Cependant en 5 volt il sera nécessaire de piloter les commandes en 3.3v par l'ajout de pont diviseur sur cs/rst/dc/mosi/et sck fait simplement avec des résistances

en 3.3volts il sera nécessaire de faire un strap sur J1 (sur mon écran)
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Ecran LCD ILI9341 pour les nuls en assembleur
paulfjujo
Avatar de l’utilisateur
Maître
Maître
Messages : 3260
Âge : 75
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#38 Message par paulfjujo » lun. 20 févr. 2023 20:28

bonsoir,

8 = LED
Backlight control, high level lighting,
if not controlled, connect 3.3V always bright

If you connect LED pin directly to 3V3 you will get maximum brightness
in your screen. LED pin controls the backlight of your TFT display.

voir interface ici
https://sparklogic.ru/off-topic/pwm-ili9341-backlight-control.html
Aide toi, le ciel ou FantasPic t'aidera

Ecran LCD ILI9341 pour les nuls en assembleur
francois77
Passionné
Passionné
Messages : 307
Enregistré en : avril 2022

#39 Message par francois77 » lun. 20 févr. 2023 22:13

Bonsoir Paul,

Je n'ai rien compris a ton message ni au lien donné

Par déduction, je pense que ta résistance viens polariser plus au moins le transistor en amont des leds ?

J'aurais bien aimer comprendre d'où sort cette valeur de 2.7k ?

Je ferais demain le test en direct et avec un potar de 10k pour voir si cela atténue la luminosité et en espérant qu'un branchement direct 3.3v ne va pas claquer mon écran

Bonne nuit

Francois
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Ecran LCD ILI9341 pour les nuls en assembleur
satinas
Expert
Expert
Messages : 1497
Enregistré en : novembre 2015

#40 Message par satinas » lun. 20 févr. 2023 23:02

Bonsoir,
Je me suis toujours posé la même question, peut-on connecter directement les leds au 3,3V, ou faut-il une résistance en série. De mémoire je crois que je les connecte en direct et ça a l'air bon, ou en tout cas ça grille pas tout de suite :)
Le lien parle de ce que Paul a déjà dû faire, et moi aussi, doser la luminosité par soft avec une sortie PWM du pic vers un transistor qui alimente les leds.
https://aptofun.de/3.2inch_SPI_Module_ILI9341


Retourner vers « Langage ASM »

Qui est en ligne

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