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
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
Bonsoir tous le monde,
Ne t’inquiète pas JMarc Noël c'est le jour des miracles.
Jérémy à raison, plusieurs LED de couleur différente suffisse.
je ferais moins l'andouille quand je serais devant mon écran, enfin si j'arrive à recevoir le deuxième
A+
satinas à écrit :
Garde le moral, au pire ton programme sera fin prêt quand on recevra le 2ème lcd
Ne t’inquiète pas JMarc Noël c'est le jour des miracles.Jérémy à écrit :
Tu te rajoutes des difficultés
Jérémy à raison, plusieurs LED de couleur différente suffisse.
je ferais moins l'andouille quand je serais devant mon écran, enfin si j'arrive à recevoir le deuxième
A+
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
Bon j'ai trouvé un bout de code pour écran ILI9342 , apparament j'ai compris qu'il y avait une version PIC
j'ai commencé un bout de code, après il faut déterminer a quoi correspond la fonction command, apparament il font pas la même chose
que JMarc, pour le reset.
Je joint tous les fichier :
A+
j'ai commencé un bout de code, après il faut déterminer a quoi correspond la fonction command, apparament il font pas la même chose
que JMarc, pour le reset.
Je joint tous les fichier :
Code : Tout sélectionner
; avis au spécialiste du C ;pinMode(_cs_pin, OUTPUT);
; si il save ce que ça veut dire ;pinMode(_reset_pin, OUTPUT);
bsf LCD_CS ; digitalWrite(_cs_pin, HIGH);
bsf LCD_RST ; digitalWrite(_reset_pin, HIGH);
call Tempo_10ms ; delay(10);
bcf LCD_CS ; digitalWrite(_cs_pin, LOW);
bcf LCD_RST ; digitalWrite(_reset_pin, LOW);
call Tempo_10ms ; delay(10)
bsf LCD_RST ; digitalWrite(_reset_pin, HIGH);
call Tempo_10ms ; delay(10)
A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
Très bonne trouvaille, ce fichier, bravo, c'est du pic32 on dirait
L'init du lcd est dans la fonction configureScreen()
Les fonctions command() et data() de l'init sont les mêmes que les nôtres.
delay(100) c'est une tempo de 100ms
Y a pas de boucle dans l'init
Il faut mettre cs à 1 pendant le reset, du moins c'est ce que j'en pense, et c'est le cas dans ce programme
L'init du lcd est dans la fonction configureScreen()
Les fonctions command() et data() de l'init sont les mêmes que les nôtres.
delay(100) c'est une tempo de 100ms
Y a pas de boucle dans l'init
Il faut mettre cs à 1 pendant le reset, du moins c'est ce que j'en pense, et c'est le cas dans ce programme
Code : Tout sélectionner
void ILI9342::initializeDevice() {
digitalWrite(_cs_pin, HIGH);
digitalWrite(_rs_pin, HIGH);
digitalWrite(_wr_pin, HIGH);
digitalWrite(_rd_pin, HIGH);
digitalWrite(_reset_pin, HIGH);
delay(10);
digitalWrite(_reset_pin, LOW);
delay(10);
digitalWrite(_reset_pin, HIGH);
delay(10);
configureScreen();
}
void ILI9342::configureScreen() {
blabla ...
}
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
Je cherche la commande "command(0xc8);"
Ça passe de C7 a D0 dans la doc ili9342 et ili9341
Ça passe de C7 a D0 dans la doc ili9342 et ili9341
Code : Tout sélectionner
d ILI9342::configureScreen() {
delay(100);
command(0x01);
delay(10);
command(0xc8);
data(0xFF);
data(0x93);
data(0x42);
command(0x36); //Memory Access Control
data(0xc8);//MY,MX,MV,ML,BGR,MH
command(0x3A); //Pixel Format Set
data(0x55);//DPI [2:0],DBI [2:0] écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
Ouais c'est pour Pic32, mais il y d'autre fichier, fait un tour dans ILI9342.h, tu vas comprendre ta douleurs.
Ben je crois qu'on n'est pas sortie de l'auberge, c'est pas fini, je vous l'assure, et c'est bien ce que je pensais, 4 mode comme
expliqué page 10, que j'ai traduit plus haut, je le remets ici.
ILI9342 fournit quatre types d'interface système MPU avec une interface parallèle série 8080/6800 et une ligne 3/4-line
interface série.
Je vais traduire le code C+ fichier par fichier, pour bien en comprendre le fonctionnement et le réécrire en ASM, avec vous tous.
Si je reçois mon écran, satinas, tu peux toujours commander ou JMarc et moi l'avons acheté, j'ai bien dit si je reçois mon écran
Je vous tiens au courant.
Enfin plus c'est compliqué, et plus ça me donne envie de gagné envers cette écran ... suite demain parce que je tiens plus....
A+
Ben je crois qu'on n'est pas sortie de l'auberge, c'est pas fini, je vous l'assure, et c'est bien ce que je pensais, 4 mode comme
expliqué page 10, que j'ai traduit plus haut, je le remets ici.
ILI9342 fournit quatre types d'interface système MPU avec une interface parallèle série 8080/6800 et une ligne 3/4-line
interface série.
Je vais traduire le code C+ fichier par fichier, pour bien en comprendre le fonctionnement et le réécrire en ASM, avec vous tous.
Si je reçois mon écran, satinas, tu peux toujours commander ou JMarc et moi l'avons acheté, j'ai bien dit si je reçois mon écran
Je vous tiens au courant.
Enfin plus c'est compliqué, et plus ça me donne envie de gagné envers cette écran ... suite demain parce que je tiens plus....
A+
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
Bonjour tout le monde,
Dans le .h il y a pas grand chose, la définition des fonctions C++, et il baptise les différentes commandes du lcd
en C, 2 manières de faire (et il y en a encore d'autres)
const uint8_t ILI9342_SOFTRESET = 0x01;
#define ILI9342_SOFTRESET 0x01
en ASM, on utilise une directive pour faire pareil
ILI9342_SOFTRESET EQU 0x01
Le problème c'est qu'il ne se sert pas de ces noms dans le programme, dommage ...
Il utilise le port parallèle master PMP 16 bits, câblé dans le pic32, au même titre que les ports uart, spi, i2c, ...
L'avantage est que l'on à plus à s'occuper des pins LCD_WR et LCD_RD. Il suffit d'écrire le registre PMOUT et la pulse /LCD_WR est générée automatiquement par le pic. Idem pour la lecture avec PMIN.
Il peut aussi fonctionner en mode slave PSP, dans ce cas les pins WR et RD sont des inputs.
Ce programme est baleze car il utilise un ou plusieurs canaux DMA du pic32, pour passer directement des paquets de données (couleurs) de la flash/ram vers le lcd, de façon automatique, sans que la cpu intervienne.
Certains 18F on un PMP/PSP 8 bits, notamment le 18F87J50 de Jeremy. Par contre pas de DMA dans les 18F.
Ce programme fait comme tous les autres, reset, init, setWindow(0x2A,0x2B), et 0x2C pour envoyer les couleurs, il manque juste le son du clairon. Il y a juste à tester la séquence init, si ça marche pas, au suivant :)
Bonne journée
Dans le .h il y a pas grand chose, la définition des fonctions C++, et il baptise les différentes commandes du lcd
en C, 2 manières de faire (et il y en a encore d'autres)
const uint8_t ILI9342_SOFTRESET = 0x01;
#define ILI9342_SOFTRESET 0x01
en ASM, on utilise une directive pour faire pareil
ILI9342_SOFTRESET EQU 0x01
Le problème c'est qu'il ne se sert pas de ces noms dans le programme, dommage ...
Il utilise le port parallèle master PMP 16 bits, câblé dans le pic32, au même titre que les ports uart, spi, i2c, ...
L'avantage est que l'on à plus à s'occuper des pins LCD_WR et LCD_RD. Il suffit d'écrire le registre PMOUT et la pulse /LCD_WR est générée automatiquement par le pic. Idem pour la lecture avec PMIN.
Il peut aussi fonctionner en mode slave PSP, dans ce cas les pins WR et RD sont des inputs.
Ce programme est baleze car il utilise un ou plusieurs canaux DMA du pic32, pour passer directement des paquets de données (couleurs) de la flash/ram vers le lcd, de façon automatique, sans que la cpu intervienne.
Certains 18F on un PMP/PSP 8 bits, notamment le 18F87J50 de Jeremy. Par contre pas de DMA dans les 18F.
Ce programme fait comme tous les autres, reset, init, setWindow(0x2A,0x2B), et 0x2C pour envoyer les couleurs, il manque juste le son du clairon. Il y a juste à tester la séquence init, si ça marche pas, au suivant :)
Bonne journée
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Baidu [Spider] et 25 invités


