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

C Discussion :

Probléme GLCD128x64 ?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Février 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 27
    Par défaut Probléme GLCD128x64 ?
    j'ai besoin d'utiliser deux boutons d’interruption.le bouton de Sélection et l'autre validation.pour le moment je cherche une solution pour utiliser seulement le bouton de sélection(Pin_B0) dans le but de sélectionner a chaque appuis sur le bouton un capteur.si quel qu’un a une idée svp aider moi dans l'approche temps et merci.

    Code C:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    #include <18F4620.h>
    #use delay(clock=8M)
    #use rs232(baud=9600,parity=N,xmit= PIN_C6,rcv=PIN_C7)
    #include <CE_GLCD.c>
     
     
    #include<graphics.c>
    //#use fast_IO(A)
    //#use fast_IO(B)
    #use i2c(Master,sda=PIN_C4,scl=PIN_ C3)
    char text1[]="Capteur1";
    char text2[]="Capteur2";
    char text3[]="Capteur3";
    char text4[]="Capteur4";
     
    #int_EXT
     
    void spi1(){
     
    }
     
    #int_EXT1
    void spi2(){
     
    void main() {
    set_tris_d(00);
    GLCD_init(ON);
     
    while(true){
     
    port_b_pullups(true);
    ext_int_edge(0,H_TO_L);
    ext_int_edge(1,H_TO_L);
    enable_interrupts(int_EXT);
    enable_interrupts(int_EXT1);
    enable_interrupts(GLOBAL);
     
    glcd_text57(0,0,text1,1,ON);
    glcd_text57(0,10,text2,1,ON);
    glcd_text57(0,20,text3,1,ON);
    glcd_text57(0,30,text4,1,ON);
     
    }
    }

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2010
    Messages : 87
    Par défaut ((((()
    bonjour

    je suis un debutant en c mais je pense "pas sur" que ton code contient 3erreure

    1 je vois que la fonction "main()" deviente non "main()" fonction cas tu la met entre les "{ }" de la fonction "void spi2() "

    2 la fonction "port_b_pullups(true)" ne se place pas dans la boucle "while" ni autes il faut l'appler qu'une seule fois apres le reset de "micro" donc normalment se place dans la "main()" fonction avec "set_tris_d(00)" et "GLCD_init(ON)"

    3 il te faut scan le portB pour savoir la quelle boutton est appuiée tu peut par exemple utilise comme ce code

    #define boutton_RB0 0xFE
    #define boutton_RB1 0xFD
    void scan_portb(void);

    void scan_portb(void){
    unsigned char SCAN;
    SCAN = PORTB
    switch(SCAN){

    case boutton_RB0:
    /*

    traiter l'int boutton_RB0

    */
    break;
    case boutton_RB1:
    /*

    traiter l'int boutton_RB1

    */
    break;
    default:
    break;

    }// end fonction switch
    }
    et n'oublier pas de metre la fonction "scan_portb(void)" dans la boucle "while()"
    bonne chanse et j'esper que ça va t'aider

  3. #3
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Février 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 27
    Par défaut
    Citation Envoyé par PIC16F877A Voir le message
    bonjour

    je suis un debutant en c mais je pense "pas sur" que ton code contient 3erreure

    1 je vois que la fonction "main()" deviente non "main()" fonction cas tu la met entre les "{ }" de la fonction "void spi2() "

    2 la fonction "port_b_pullups(true)" ne se place pas dans la boucle "while" ni autes il faut l'appler qu'une seule fois apres le reset de "micro" donc normalment se place dans la "main()" fonction avec "set_tris_d(00)" et "GLCD_init(ON)"

    3 il te faut scan le portB pour savoir la quelle boutton est appuiée tu peut par exemple utilise comme ce code


    et n'oublier pas de metre la fonction "scan_portb(void)" dans la boucle "while()"
    bonne chanse et j'esper que ça va t'aider
    Merci pour ton aide

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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