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 tactile ILI9341
JMarc
Confirmé
Confirmé
Messages : 551
Enregistré en : août 2016
Localisation : Dans le Sud...

#31 Message par JMarc » mar. 14 nov. 2017 14:32

Bonjour Satinas


satinas a écrit :Pas facile de se comprendre, sans en mettre des tartines ...

On reparlera des macro plus tard, quand il s'agira d'optimiser en vitesse. On oublie, fais des sous-programmes, tu seras plus à l'aise.

D'accord j'oublie les macro d'initialisations vu qu'elles sont courtes.

Mais j'ai compris le principe,
si c'est écrit une seule fois, je met le code directement dans le source,
si de nombreuses fois je fais une sous routine appellé avec un call,
si j'ai des nombreux paramètres a passer je fais une macro pour me faciliter la saisi

Bon de toute façon je passe maintenant au pcb car j'ai pleins d'œuf a cuire puis ensuite je me lance sur l'autre écran dehors!!

Ecran tactile ILI9341
JMarc
Confirmé
Confirmé
Messages : 551
Enregistré en : août 2016
Localisation : Dans le Sud...

#32 Message par JMarc » jeu. 16 nov. 2017 21:05

Bonjour tous le monde

satinas a écrit : Les arguments de macro sont gérés en mode traitement de texte, tu peux donc entrer des valeurs 16 bits et les couper en 2 octets dans la macro :

Code : Tout sélectionner

affiche macro m1, x1,y1, x2,y2
        ...
        movlw   (x1) / 0x100
        movwf   columnSC1
        movlw   (x1) % 0x100
        movwf   columnSC2
        ...
        endm



je me regale, merci Satinas

Code : Tout sélectionner

    essai .00320


et la macro pour mes essais

Code : Tout sélectionner

essai macro  x1
        movlw   
(x1) / 0x100
        movwf   travail1
        movlw   
(x1) % 0x100
        movwf   travail2
        endm



:+1: Merci !

Ecran tactile ILI9341
JMarc
Confirmé
Confirmé
Messages : 551
Enregistré en : août 2016
Localisation : Dans le Sud...

#33 Message par JMarc » jeu. 23 nov. 2017 20:52

Bonjour tous le monde

Des nouvelles des œufs mollets :wink:

Avec programmation in-situ :sifflotte:

image.jpg


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

Ecran tactile ILI9341
satinas
Passioné
Passioné
Messages : 346
Enregistré en : novembre 2015

#34 Message par satinas » jeu. 23 nov. 2017 21:14

Bonsoir,
Ca progresse, ça progresse ...
Pour cuire les oeufs, tu fais comment, tu overcloques le pic pour récupérer la chaleur ?

Ecran tactile ILI9341
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 1127
Âge : 68
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#35 Message par paulfjujo » jeu. 5 avr. 2018 16:45

Bonjour,

Une question à propos de la partie ecran tactile .

J'ai remarqué que la partie Tactile (xpt2046) ne s'initialise pas correctement apres
rechargement du programme..
j'ai mon ecran tactile alimenté par mon PickiT2 en 3,4V
mais lorsque je modife mon programme et le charge dans mon PIC 18F26K22
Le LCD est OK, mais le Tactile ne réponds pas ..meme avec un RESET sur Pickit2.

Seul un Power OFF / Power ON global ( LCD+ Tactile) fait que tout est OK apres coup.

Nota; j'utilise le mode interruption .. PEN IRQ sur RB0 IRQ .. qui va bien !
MAIS , de ce fait, je ne peux meme pas envoyer une commande SPI , dans le main programme,
avec le code 0xC0 pour activer la sortie Interupt PEN IRQ du module !
et je pense que le probleme vient de là..

Code : Tout sélectionner

because error message..
22 365 Reentrancy is not allowed: function 'Soft_SPI_Write' called from two threads __Lib_SoftSPI.c


MikroC donne une astuce ..qui ne marche pas !
#pragma ReentrancyCheck OFF


Avez vous déja remarqué ce probleme ? qui n'en est peut etre pas un, d'ailleurs !
Je pense qu'il me faut utiliser un SOFT_SPI 100% asm pour ne pas etre em... par mikroC

un avis ?
:sifflotte: ( à par me dire, fait tout en asm ..;)
Aides toi, le ciel ou Fantastpic t'aideras

Ecran tactile ILI9341
satinas
Passioné
Passioné
Messages : 346
Enregistré en : novembre 2015

#36 Message par satinas » jeu. 5 avr. 2018 17:28

Bonjour Paul,
je n''ai pas eu ce genre de souci de tactile sur Arduino et Esp. Je ne l'ai pas utilisé récemment avec un pickit. Microchip déconseille de dépasser 30mA en mode alimentation pour le Pickit3.

Pourquoi parles-tu de soft spi 100% asm, alors qu'une fonction C toute simple manipulant les registres spi suffit ?
Le fait d'utiliser MikroC ne devrait pas t'empêcher de la faire, ou alors j'ai pas tout compris.

Encore un fil asm pollué par du C, j'en connais qui vont pas être contents :)

Ecran tactile ILI9341
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 1127
Âge : 68
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#37 Message par paulfjujo » ven. 6 avr. 2018 09:36

satinas a écrit :Microchip déconseille de dépasser 30mA en mode alimentation pour le Pickit3.


:+1: tu as bien fait de me le rappeler !
je consomme 35mA sous 3,4V (affiché sur le Pickit2 programmer) mais 3,2V reel sur le montage.
J'avais oublié que le retro eclairage etait gourmand !
Je vais donc l'alimenter en externe ..
.. 3,4V reel d' alim 65mA conso globale PIC+LCD


satinas a écrit :Pourquoi parles-tu de soft spi 100% asm, alors qu'une fonction C toute simple manipulant les registres spi suffit ?
Le fait d'utiliser MikroC ne devrait pas t'empêcher de la faire, ou alors j'ai pas tout compris.


parce que j'utilise un SPI Software mikroC, donc pas de registre SPI MCU ..
nota: mon 1er essai SPI bit bang n'etait pas concluant...

du coup, tu m'as donné l'idée d'essayer d'inverser :
SPI Hardware pour le touch (avec commande directe des registres en asm)
et SPI Software MikroC pour le LCD

humour!! d'ici que la zone ASM soit taxée comme les parkings en ville ... !
.. je continuerai donc ce post sur "Langage C" ! meme si je mets un peu d'ASM dedans !
Aides toi, le ciel ou Fantastpic t'aideras

Ecran tactile ILI9341
satinas
Passioné
Passioné
Messages : 346
Enregistré en : novembre 2015

#38 Message par satinas » ven. 6 avr. 2018 10:04

C'est ce que j'avais abordé plus haut, mais la fonction C présentée était pas la bonne, car c'était celle d'envoi lcd. Il faut effectivement utiliser la bibliothèque spi MikroC pour l'envoi lcd, et faire une fonction hors bibliothèque pour le tactile, en C ou asm. Elle permet de gérer proprement une interruption tactile se produisant pendant l'envoi spi d'un octet d'affichage.

Ecran tactile ILI9341
JMarc
Confirmé
Confirmé
Messages : 551
Enregistré en : août 2016
Localisation : Dans le Sud...

#39 Message par JMarc » jeu. 27 sept. 2018 09:13

Bonjour a tous

Voila, je viens de rallumer l'ordi :-D mais je n'ai pas encore fini ma formation, c'est juste que l'ASM me manque cruellement. je vais essayé de pratiquer par intermittence afin de ne pas perdre le peu que je sais

satinas a écrit : Par contre je lâche pas le programme de lecture du touchscreen tant que JMarc n'a pas montré le sien, faut qu'il bosse un peu :)



Satinas.....que dire.....je le met brut de décoffrage mais ce n'est qu'a la sauce de Jean-Marc :langue: comme disait un certain monsieur, j'y suis arrivé par des chemins détournés :-D :-D :-D

J'ai mesuré les valeurs que je recevais lors d'un appuis sur l'écran qui ne sont pas les mêmes entre un appuis avec un stylet ou bien un appuis avec le doigt.

pour l’exemple suivant, s'est un appuis avec le doigt pour le Ili9341 car sa ne fonctionne pas pareil pour l'autre écran de Temps-x (il m'a laissé tombé sur ce coup la :cry: )

Code : Tout sélectionner

bouton_angle
    movlw   .55    
    cpfsgt  mesure_x1   
;saut si supperieur
    bra     bouton_angle_2
    movlw   .65
    cpfslt  mesure_x1   
saut si inferieur
    bra     bouton_angle_2
    movlw   .170   
    cpfsgt  mesure_x2   
;saut si supperieur
    bra     bouton_angle_2
    movlw   .190
    cpfslt  mesure_x2   
saut si inferieur
    bra     bouton_angle_2

    movlw   .110    
    cpfsgt  mesure_y1   
;saut si supperieur
    bra     bouton_angle_2
    movlw   .120
    cpfslt  mesure_y1   
saut si inferieur
    bra     bouton_angle_2
    movlw   .120    
    cpfsgt  mesure_y2   
;saut si supperieur
    bra     bouton_angle_2
    movlw   .150
    cpfslt  mesure_y2   
saut si inferieur
    bra     bouton_angle_2

    movlw   .65         
bas droit
    call    LCD_SEND_DECI
    call    affiche_valeur_retenu
    uart_Allumage_stop
 
;  MESSAGE "S","t","a","r","t"," ","O","k"," "," "
    
bra     boucle

bouton_angle_2
    movlw   .20    
    cpfsgt  mesure_x1   
;saut si supperieur
    bra     bouton_angle_3
    movlw   .30
    cpfslt  mesure_x1   
saut si inferieur
    bra     bouton_angle_3
    movlw   .200   
    cpfsgt  mesure_x2   
;saut si supperieur
    bra     bouton_angle_3
    movlw   .220
    cpfslt  mesure_x2   
saut si inferieur
    bra     bouton_angle_3

    movlw   .30    
    cpfsgt  mesure_y1   
;saut si supperieur
    bra     bouton_angle_3
    movlw   .60
    cpfslt  mesure_y1   
saut si inferieur
    bra     bouton_angle_3
    movlw   .180    
    cpfsgt  mesure_y2   
;saut si supperieur
    bra     bouton_angle_3
    movlw   .210
    cpfslt  mesure_y2   
saut si inferieur
    bra     bouton_angle_3

    movlw   .165         
haut gauche
    call    LCD_SEND_DECI
    call    affiche_valeur_retenu
    MESSAGE 
"S","t","a","r","t"," ","O","k"," "," "
    
bra     boucle

bouton_angle_3
    movlw   .18    
    cpfsgt  mesure_x1   
;saut si supperieur
    bra     bouton_valid
    movlw   .27
    cpfslt  mesure_x1   
saut si inferieur
    bra     bouton_valid
    movlw   .210   
    cpfsgt  mesure_x2   
;saut si supperieur
    bra     bouton_valid
    movlw   .240
    cpfslt  mesure_x2   
saut si inferieur
    bra     bouton_valid

    movlw   .100    
    cpfsgt  mesure_y1   
;saut si supperieur
    bra     bouton_valid
    movlw   .180
    cpfslt  mesure_y1   
saut si inferieur
    bra     bouton_valid
    movlw   .85    
    cpfsgt  mesure_y2   
;saut si supperieur
    bra     bouton_valid
    movlw   .120
    cpfslt  mesure_y2   
saut si inferieur
    bra     bouton_valid

    movlw   .120            
;   haut droit
    call    LCD_SEND_DECI
    call    affiche_valeur_retenu
    MESSAGE 
"B","u","z","e","r"," ","O","k"," "," "
    
call  buzzer

Ecran tactile ILI9341
Temps-x
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 993
Enregistré en : juillet 2016
Localisation : Terre

#40 Message par Temps-x » jeu. 27 sept. 2018 20:02

Bonjour,

JMarc a écrit :Source du message car sa ne fonctionne pas pareil pour l'autre écran de Temps-x (il m'a laissé tombé sur ce coup la :cry: )


Non, j'ai pas laissé tombé, l'écran est monté sur breadboard, avec le microcontrôleur Pic18F4524 :langue: ton préféré, mais pas le mien.
Car on ne peu pas configurer les convertisseurs analogique séparément, je trouve cela dommage.

Mais je vais m'y remettre, et je pense même qui il y aura pas mal de monde pour en discuté.

Mais pour l'instant comme le dit p_ _ _ _ _ _ _o du concret :wink:

==> A+
Quand la souris nargue le chat, c'est que son trou n'est pas loin.


Retourner vers « Langage ASM »

Qui est en ligne

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