Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

code en CCS problème



  1. #1
    sdow

    code en CCS problème


    ------

    je ne sais pas pourqui mon keypad n'est pas detecter:
    do
    {
    // do
    // {
    key3 = kbd_getc();
    // }while(key3 != '\0');
    GOTO_XY(3,4);

    strcpy(string,"Click sur MENU");
    Lcd_Message(string);
    delay_ms(700);
    EffaceLigne(4);
    delay_ms(500);
    }while(key3 != '#');
    quand je laisse le do while de kbd_getc() tout est correct mais quand je le enleve c'est là le problème. je veux clignoter um message et tester si un bouton est actif .

    -----

  2. Publicité
  3. #2
    XyQrTw

    Re : code en CCS problème

    Tu pourais pas expliquer un peut mieux ?
    - Ce que tu voit avec un code
    - Ce que tu voit avec l'autre
    - et ce que tu veut

  4. #3
    sdow

    Re : code en CCS problème

    ok voila avec ce code mon clavier ne fonctionne pas mais mon message clignote:

    do
    {

    key3 = kbd_getc();
    GOTO_XY(3,4);

    strcpy(string,"Click sur MENU");
    Lcd_Message(string);
    delay_ms(700);
    EffaceLigne(4);
    delay_ms(500);
    }while(key3 != '#');

    avec ce code mon clavier fonctionner mais le message ne clignote pas car je rest dans un boucle :

    do
    {
    do
    {
    key3 = kbd_getc();
    }while(key3 != '\0');
    GOTO_XY(3,4);

    strcpy(string,"Click sur MENU");
    Lcd_Message(string);
    delay_ms(700);
    EffaceLigne(4);
    delay_ms(500);
    }while(key3 != '#');
    comment faire que mon message clignote mais je veux le arreter quand un bouton est ON .

  5. #4
    Seb.26

    Re : code en CCS problème

    Donne la definition de la fonction kbd_getc() stp ...

    PS, pour moi ce code :
    Code:
    do
    {
    do
    {
    key3 = kbd_getc();
    }while(key3 != '\0');
    GOTO_XY(3,4);
    
    strcpy(string,"Click sur MENU");
    Lcd_Message(string);
    delay_ms(700);
    EffaceLigne(4);
    delay_ms(500);
    }while(key3 != '#');
    est equivalent à celui ci :

    Code:
    do
    {
    do
    {
    key3 = kbd_getc();
    }while(key3 != '\0');
    GOTO_XY(3,4);
    
    strcpy(string,"Click sur MENU");
    Lcd_Message(string);
    delay_ms(700);
    EffaceLigne(4);
    delay_ms(500);
    }while(1);
    car si key3 est un uchar, il ne sera jamais à '#' puisque tu ne sort du premier while que si key3 est egal à '\0' ...

    Donne la definition de la fonction kbd_getc() stp ... ... on verra ensuite ...

  6. A voir en vidéo sur Futura
  7. #5
    sdow

    Re : code en CCS problème

    kbd_getc(); est un fonction qui lit lun clavier 4x4 = 16 touches matrix . cette fonction on le trouve dans les examples de ccs.

    1 2 3 A
    4 5 6 B
    7 8 9 C
    * 0 # D

    je veux que mon message clignote tout le temps si key 3 est # il va continuer le programme .

    do
    {
    key3 = kbd_getc();
    }while(key3 == '\0');

    mais il ne veux pas sortir du boucle

  8. #6
    XyQrTw

    Re : code en CCS problème

    Je ne connais pas se language mais :

    du point de vue algorithme :
    Ton programme suivant est le bon pour faire clignioter ton message :
    Code:
    do
    {
    
    key3 = kbd_getc();
    GOTO_XY(3,4);
    
    strcpy(string,"Click sur MENU");
    Lcd_Message(string);
    delay_ms(700);
    EffaceLigne(4);
    delay_ms(500);
    }while(key3 != '#');
    Vu que le programme suivant ne permet pas de quiter ta boucle :
    Code:
    do
    {
    key3 = kbd_getc();
    }while(key3 == '\0');
    D'après moi, ta méthode kbd_getc(); ne doit pas fonctionner comme tu le souhaite (soit mauvaise méthode, soit la valeur de retour ne donne pas ce que tu attend)

    Si tu fait ca :
    Code:
    do{
    key3 = kbd_getc();
    strcpy(string, key3);
    Lcd_Message(string);
    delay_ms(700);
    }while(1);
    Ca t'afficherais quoi ?
    si tu as qqchose à l'ecran :
    regarde la faleur des touches, sa pourais t'aider...

  9. Publicité
  10. #7
    sdow

    Re : code en CCS problème

    c'est le delay_ms qui empeche que mon clavier soit détecter .

    car la fonction kbd_getc(); s'exécute en quelque ms . Il faudrait être très vite . quand elle est dans un do while tout est correct mais mon message ne clignote pas .

  11. #8
    invite_P89
    Invité

    Re : code en CCS problème

    LU
    tu peux me dire si pour ton portB est D c'est OK

  12. #9
    sdow

    Re : code en CCS problème

    oui c'est ok

  13. #10
    invite_P89
    Invité

    Re : code en CCS problème

    Merci

Discussions similaires

  1. MPLAB / CCS C compiler
    Par jorg1n dans le forum Électronique
    Réponses: 3
    Dernier message: 27/11/2008, 12h37
  2. Problème MPLAB / CCS
    Par Rominichnet dans le forum Électronique
    Réponses: 2
    Dernier message: 06/11/2007, 11h56
  3. CCS compiler
    Par sdow dans le forum Électronique
    Réponses: 0
    Dernier message: 16/09/2007, 20h27
  4. Ccs Mplab
    Par minouche dans le forum Électronique
    Réponses: 2
    Dernier message: 29/08/2006, 21h01
  5. CCS C... problème
    Par Bullrap dans le forum Électronique
    Réponses: 2
    Dernier message: 16/09/2005, 10h45
Découvrez nos comparatifs produits sur l'informatique et les technologies.