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 : Jérémy
Ecran Easy TFT
Ecran Easy TFT
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Oui j'ai remplacé le RESET par un display off et display ON ; car la au moins je suis sur de voir s’éteindre l'écran . avec un RESET, il se peut qu'il ne s'éteigne pas du tout , et donc je passerai a coté.
Il faut que je mette à 1 LeTFT_WR?
PS: tu peux mettre en évidence certains texte avec la citationpar exemple ou le bouton rem afin que ce soit plus lisible .
Il faut que je mette à 1 LeTFT_WR?
PS: tu peux mettre en évidence certains texte avec la citationpar exemple ou le bouton rem afin que ce soit plus lisible .
Ecran Easy TFT
l'INT c'est cela:
UNE RAZ SOFT AVEC UN DÉLAI POUR LA STABILISATION DU CONTRÔLEUR ÉCRAN
c'est dans le data sheet
apres tu peux faire:
et la tu parts pour le remplissage de l'ecran
Oui en plus dans ton commentaire tu dis: broche a l’état haut pour moi un état haut c'est un, un état bas c'est zéro
donc la validation c'est:
WR=0
NOP
NOP
WR=1
NOP
NOP
Alors le NB de NOP est fonction de ton quartz et si tu veux on en parle dans un autre post sur son calcul et comment obliger le compli a compiler un certains nombre de NOP en fonction du cycle machine et du quartz utilise.
Pour le moment a 20Mhz 2 ou 4 NOP c'est largement suffisant et bien plus rapide que de passer par la fonction delay pour 1µs on est ici a 15ns de minimum
UNE RAZ SOFT AVEC UN DÉLAI POUR LA STABILISATION DU CONTRÔLEUR ÉCRAN
Code : Tout sélectionner
code void INIT()
{
write_cmd(0x01); //software reset
delay(5);
write_cmd(0x28); // display off
}
//---------------------------------------------------------
c'est dans le data sheet
apres tu peux faire:
Code : Tout sélectionner
write_cmd(0x29); // display on
et la tu parts pour le remplissage de l'ecran
Il faut que je mette à 1 LeTFT_WR?
Oui en plus dans ton commentaire tu dis: broche a l’état haut pour moi un état haut c'est un, un état bas c'est zéro
donc la validation c'est:
WR=0
NOP
NOP
WR=1
NOP
NOP
Alors le NB de NOP est fonction de ton quartz et si tu veux on en parle dans un autre post sur son calcul et comment obliger le compli a compiler un certains nombre de NOP en fonction du cycle machine et du quartz utilise.
Pour le moment a 20Mhz 2 ou 4 NOP c'est largement suffisant et bien plus rapide que de passer par la fonction delay pour 1µs on est ici a 15ns de minimum
Ecran Easy TFT
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
De retour à la maison. je lave les enfants , je mange avec ma petite famille , et je m'y colle. En esperant que ca marche. Tu as raison je vais faire un reset au départ , c'est plus prudent
Oui mauvais copier/coller
Oui en plus dans ton commentaire tu dis: broche a l’état haut pour moi un état haut c'est un, un état bas c'est zéro
Oui mauvais copier/coller
Ecran Easy TFT
Ecran Easy TFT
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
J'ai re checker mes connexions !.
J'ai checker le programme et j'ai mis une led test !. ca marche pas. Je dois mal envoyer ma commande, mais je vois pas pourquoi . J'ai essayer en inversant les valeurs soit sur front montant ou descendant pour TFT_WR
Voici mon programme avec fonction d'envoi de commande:
J'ai checker le programme et j'ai mis une led test !. ca marche pas. Je dois mal envoyer ma commande, mais je vois pas pourquoi . J'ai essayer en inversant les valeurs soit sur front montant ou descendant pour TFT_WR
Voici mon programme avec fonction d'envoi de commande:
Code : Tout sélectionner
// easy TFT connexions ----------------------------------------------
sbit TFT_RD at LATB0_bit;
sbit TFT_WR at LATB1_bit;
sbit TFT_RS at LATB2_bit;
sbit TFT_CS at LATB4_bit;
sbit TFT_RST at LATB5_bit;
char TFT_DataPort at PORTD; //donnée sur le PORTD de D0:D7
sbit TFT_RD_Direction at TRISB0_bit;
sbit TFT_WR_Direction at TRISB1_bit;
sbit TFT_RS_Direction at TRISB2_bit;
sbit TFT_CS_Direction at TRISB4_bit;
sbit TFT_RST_Direction at TRISB5_bit;
// End easy TFT connexions ----------------------------------------------
// Fonction Envoi de commandes --------------------------------------------------
void Envoi_cmd ( unsigned char Data){
TFT_DataPort = Data ; // Met la valeur sur le PORTD (0x01= RESET)
TFT_CS=0 ; // Chip select , actif à l'etat bas
TFT_RS=0 ; // Register Select, 1=Data, 0=Command
TFT_RD=1;
TFT_WR = 0 ;
delay_us(1);
TFT_WR = 1 ;
}
//----------------------------------------------------------------------------------
void main() {
ANSELB = 0; // Configure le PORTB en digital
ANSELD = 0; // Configure le PORTD en digital
ANSELE = 0; // Configure le PORTD en digital
TRISB = 0; // Port B en sortie
TRISD = 0; // Port B en sortie
TRISE = 0; // Port en sortie pour test
LATB = 0; // RAZ du PORT B
LATD = 0; // RAZ du PORT D
LATE = 0; // RAZ du PORT D
Envoi_cmd (0x01); // Effectue un RESET
while(1) {
Envoi_cmd (0x28); // envoi display off
PORTE = 0x01; // allume une led test
delay_ms(1000); // pause
Envoi_cmd (0x29); // envoi display on
PORTE = 0x00; // Eteint une led test
delay_ms(1000); // pause
}
}
Ecran Easy TFT
Ecran Easy TFT
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
je trouve bizarre que tu initialises les bits du TFT par la fonction
sbit ...... as ..
de meme pour la direction (entree ou sortie)
mais que tu ne les initialises pas dans ton code, et utilise une init directe avec TRIS...
Les labels de variables utilisés ensuite sont -ils vraiment initialisés dans ce cas ?
je trouve bizarre que tu initialises les bits du TFT par la fonction
sbit ...... as ..
de meme pour la direction (entree ou sortie)
Code : Tout sélectionner
TFT_RD_Direction=0;
TFT_WR_Direction=0;
TFT_RS_Direction=0;
TFT_CS_Direction=0;
TFT_RST_Direction=0;
mais que tu ne les initialises pas dans ton code, et utilise une init directe avec TRIS...
Les labels de variables utilisés ensuite sont -ils vraiment initialisés dans ce cas ?
Ecran Easy TFT
Ecran Easy TFT
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
je trouve bizarre que tu initialises les bits du TFT par la fonction
sbit ...... as ..
de meme pour la direction (entrée ou sortie)
En fait , moi aussi , mais j'ai seulement adapté le programme ! c'est initialisé comme ca pour le GLCD, alors je me suis que ca devait etre mieux ou correct.
mais que tu ne les initialises pas dans ton code, et utilise une init directe avec TRIS...
Les labels de variables utilisés ensuite sont -ils vraiment initialisés dans ce cas ?
Je ne sais pas . JE vais tout remettre comme je sais faire, je pense que c'est le mieux, plutot que de vouloir utilisé un code tout fait que je ne comprends pas.
OU est la tempo de delay (5)
J'en avais mis une de 1000ms, en test . je vais donc essayer aussi avec 5seconde , mais ça me parait tout simplement énorme
La led elle clignote ou pas? cela m’intéresse un peu
Au début non, après quelques modifs OUI . C'est un outils indispensable .
Merci pour vos piste: car la vraiment je séchais, et je ne savais plus quoi faire !
Allez je file essayer ça, et je vous dis
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 42 invités