IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

initialisation LCD sur PSoC Creator


Sujet :

Embarqué

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2016
    Messages : 3
    Par défaut initialisation LCD sur PSoC Creator
    Bonjour, tout le monde !

    Voilà, pour vendredi 15 dernier délai, je dois programmer un afficheur LCD EA DOGM162 (datasheet : http://www.lcd-module.com/eng/pdf/doma/dog-me.pdf) avec 2 LEDs et 4 boutons poussoirs avec une carte Cypress Semiconductor CY8CKIT-042. Le problème (et pas des moindre) est que je n'ai jamais utilisé d'afficheur LCD alphanumérique ou de carte Cypress auparavant, seulement une carte Arduino Uno Rev 3. L'afficheur doit être initialiser en mode 8 bits SPI mais je n'ai jamais vu cela en cours (on devait se contenter d'allumer des LEDs avec des boutons poussoirs sur Arduino). Pour être au moins sûr de mon circuit, j'ai fais un schéma sur Isis, mais le problème est qu'il n'y a pas de carte Cypress dessus ni de DOGM162 (je les ai donc remplacé par une carte Arduino et le LCD 16x2 qui il avait dessus, mais ils ne s'utilisent pas de la même manière que ce je dois utiliser en vrai). Le code Arduino que j'ai fait pour tester le montage fonctionne parfaitement. L'aide que j'aimerais avoir consiste à m'aider pour savoir comment initialiser l'afficheur en mode 8 bits SPI. Je joins à ce poste le code Arduino que j'ai fais pour vous aiguiller sur PSoC Creator. Je vous remercie d'avance d'avoir lu et attends impatiemment vos réponses.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 257
    Par défaut Bus SPI
    Bonjour,

    Le bus SPI est un bus série 4 fils ( SI CLK RS CSB ) qu'il faut piloter avec 4 I/O de la carte.

  3. #3
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 265
    Par défaut
    Pour le brochage de ton afficheur.

    Si tu n'as qu'un seul périphérique SPI tu peux, sans problème :
    - laisser CSB (Chip Select) toujours à l'état bas.
    - R/W à l'état bas aussi car c'est plutôt rare que l'on vienne lire l'afficheur.

    Ensuite comme le dit nanosoft SI CLK RS (CSB si tu as plusieurs périphériques sur ton BUS SPI)

    SI : c'est ce que tu connais probablement sous le nom de MOSI Master Out Slave In
    CLK : horloge du SPI
    RS : 0 = fonction ou config (effacer afficheur, clignoter le curseur, autres réglages) ou 1 = Data écriture d'un caractère (la chaîne de caractère que tu veux afficher)

    !!! ATTENTION !!! désolé mais j'ai pas eu le courage de lire la doc du contrôleur, sache que le BUS SPI demande un réglage de la phase et de la polarisation pour dialoguer correctement avec le composant et dans les datasheet ça s'appelle souvent CPOL et CPHA.

    Ensuite pour le réglage de ton afficheur c'est pas compliqué, il suffit de lire
    Nom : aff.jpg
Affichages : 917
Taille : 267,6 Ko
    Comment il faut comprendre ce truc ?
    Facile :
    CSB = 0 : Afficheur activé
    R/W = 0 : Je veux écrire quelque chose dans l'afficheur
    RS = 0 : Ce quelque chose est une commande (configuration)
    J'envoi dans mon bus SPI la valeur 00111001 qui correspond a "fonction set" pour lui dire initialise toi en 8 bits, 2 lignes et prépare moi l'accès a la table d'instruction 1 !
    J'envoi dans mon bus SPI la valeur 00011100 qui correspond a "bias set" (j'ai pas lu la doc je ne sais pas ce que c'est mais toi surement) tu remarquera que "bias set" est bien dans la table d'instruction 1 (c'est normal car c'est ce que j'ai demandé a "fonction set")
    etc...
    C'est comme ça que ça ce lit (et suivant ce que tu envois dans l'afficheur une config, un donnée a afficher, il faut faire attention aux borches CSB, R/W et RS sinon ça marche pas) et ça demande un peu de rigueur pour pas se tromper dans les tableau, rien de plus.


    Et en page 7 il te donne un exemple de config en plus !
    Nom : aff2.JPG
Affichages : 906
Taille : 64,2 Ko

    L'électronique numérique c'est avant tout de la lecture de datasheet (qui est le mode d'emploi)

    ps : c'est bizarre, je n'avais pas vu ton poste plutôt !? Il a été redirigé ?

Discussions similaires

  1. linkage d'OpenCV sur Qt creator
    Par benyaya_benyaya dans le forum OpenCV
    Réponses: 2
    Dernier message: 29/06/2013, 10h19
  2. MVVM en C++ sur Qt Creator
    Par E114598N dans le forum Qt Creator
    Réponses: 2
    Dernier message: 15/04/2013, 14h11
  3. programmer un afficheur LCD sur PIC
    Par ziko132 dans le forum Autres architectures
    Réponses: 1
    Dernier message: 25/11/2012, 10h15
  4. Réponses: 8
    Dernier message: 16/03/2008, 21h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo