Aide programme projet bts
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Aide programme projet bts



  1. #1
    jerem68

    Aide programme projet bts


    ------

    Bonsoir, actuellement en bts se, je suis entrain de faire mon projet, la carte est tirée et tout marche, viens maintenant la partie la plus embarrassante car je n'ai jamais programmée en C. Ma carte se compose,d'un PIC18F26K22, Module RFID 125Khz, Module EASY_VR, Afficheur Nokia.

    Le projet est une amélioration d'une box domotique.

    J'ai commencé a programmer, le but est que lorsque la carte RFID passe devant l'antenne, notre afficheur nokia inscrive soit "Passez carte" soit le code en binaire de la carte. Un premier problème est que l'horloge ne se synchronise pas sur mon quartz 16Mhz mais sur mon PIC malgré que la commande soit écrite, le deuxième problème est que mon écran affiche un écran bleu qui ne s'enlève pas malgré les Putstring écrit.

    CF: Code C écrit sur MPLAB ID v8.92

    Code:
    #include <18F26K22.h>
    #fuses HSH,NOWDT,NOPROTECT,NOLVP
    #device ADC=10 /// CAN en 8 ou 10 bits
    #use delay(clock=16000000)
    /////////////// config interface RS232 pour module XBEE /////////////
    #use rs232(baud=9600, bits=8, xmit=PIN_C6, rcv=PIN_C7,STREAM=RFID)
    
    
    
    #byte pb   =0xF81   //port b
    #byte pa   =0xF80   //port a
    #byte pc   =0xF82   //port c
    
    //#byte  PORTD  =0xF83   
    
    #byte  ADRESH  =0xFC4
    #byte  ADRESL  =0xFC3 
    
    #byte  ADCON0  =0xFC2 
    #byte  ADCON1  =0xFC1
    #byte  ADCON2  =0xFC0
    
    #bit GO  = ADCON0.1
    
    //////////////// config afficheur nokia Ecran /////////////
    
    #bit _RESET  = pb.4
    #bit _SDATA  = pb.0  
    #bit _SCLK   = pb.1
    #bit _CS     = pb.5
    
    ///////////////////////////////////////////
    
    #include "DisplayFns.c"   // Fonctions pour l'afficheur graphique
    
    #define LED_TEST 	 PIN_A0
    
    
    #define LED_ON 		 output_high
    #define LED_OFF		 output_low
    
    ////////////// Variables Globales //////////////////
    
    
    int elt_rfid=0;
    int detect_carte=0;
    
    char data_rfid[11];
    char c;
    
    /////////////// sous-progs d'interruption ///////////////////
    
    #int_RDA  // Chaque fois qu'un caractère arrive par la liaison RS232, cette interruption est générée
    void  RDA_isr(void)
     { 
     detect_carte=1;
     
    c=fgetc(RFID); // A chaque passage de la carte devant le module, 11 octets sont envoyés
    printf(PutString "c=%c",c);
     data_rfid[elt_rfid++]=c;
      if (elt_rfid ==10) elt_rfid=0;
    }
    ////////////////////////////////////////////////////////////////////////////////
    ////////////////////// Programme Principal ////////////////////////////////////
     /////////////////////////////////////////////////////////////////////////////
    
    void main(void)
    {
    
      /////////// déclarations des variables //////////////////
       
      LED_ON (LED_TEST); 
    
     /////////////////////// Init  CAN /////////////////////
    
       ADCON1=0xFC1 ;// RA0 en entrée analogique et tension de référence = VDD
       ADCON0=0xFC2;// Sélection Channel 0 et validation du CAN
       ADCON2=0xFC0;//horloge de conversion = Fosc/8 et temps d'acquisition = 8.TAD
    
       delay_us(5);//attente de positionnement du multiplexeur
     
    
    /////////////// Init PORTS ///////////////////
    
     set_tris_a(0x00);
     set_tris_b(0x00);
     
    
    /////////////////////Init LED ////////////////////////////
    
       LED_OFF(LED_TEST);                    //Eteindre la LED
    
    
    
    
    ////////////////////////////// BOUCLE ///////////////////////////////////
    
       while (TRUE)
       {
    
    
    gclcd_gotoxy(10,10);// Positionne le curseur
    
    if (detect_carte==0) 
        {PutString("Passez Carte:");}
    else
        {
        PutString("Code Carte :     "); 
        gclcd_gotoxy(10,20);
        printf(PutString "%02X %02X %02X %02X %02X",data_rfid[3],data_rfid[4],data_rfid[5],data_rfid[6],data_rfid[7]);
        }
                    
    // Comparaison avec le code de la carte RFID
    
     if ((data_rfid[3]==0x01)&&(data_rfid[4]==0x02)&&(data_rfid[5]==0x03)&&(data_rfid[6]==0x04)&&(data_rfid[7]==0x05)) LED_ON(LED_TEST);    
    
    
    
    
      
    }
    
    
    
                           //Eteindre la LED
    
         LED_OFF(LED_TEST);
    
    /////////////////////////////// Prog. PRINCIPAL ///////////////////////////////////
    
       while (TRUE)
    
    gclcd_gotoxy(10,10); // Positionne le curseur
    
    if (detect_carte==0) 
        {PutString("Passez Carte:");}
    else 
        {
        PutString("Code Carte :     ");
        gclcd_gotoxy(10,20);
        fprintf(RFID, "%02X %02X %02X %02X %02X ",data_rfid[3],data_rfid[4],data_rfid[5],data_rfid[6],data_rfid[7]);
        }
                    
    // Comparaison avec le code de la carte RFID
    
     if ((data_rfid[3]==0x01)&&(data_rfid[4]==0x02)&&(data_rfid[5]==0x03)&&(data_rfid[6]==0x04)&&(data_rfid[7]==0x05)) LED_ON(LED_TEST);    
    
    
    
       }

    -----
    Dernière modification par gienas ; 02/04/2014 à 21h28. Motif: Ajouté les balises code, obligatoires pour les programmes

  2. #2
    Jack
    Modérateur

    Re : Aide programme projet bts

    mon écran affiche un écran bleu qui ne s'enlève pas malgré les Putstring écrit.
    Tu as essayé de régler le contraste?

  3. #3
    jerem68

    Re : Aide programme projet bts

    Je ne pense pas que le contrast soit le problème, lorsque je test un autre programme qui marche, l'écran fonctionne bien

Discussions similaires

  1. [PROJET SI] Aide pour programme Arduino avec Bluetooth
    Par Soyalorea dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 04/03/2014, 08h37
  2. [projet école] lcd + microcontroleur + programme C
    Par daryl75 dans le forum Électronique
    Réponses: 3
    Dernier message: 14/01/2013, 22h32
  3. Aide Programme Gps
    Par invitef97198f3 dans le forum Électronique
    Réponses: 4
    Dernier message: 01/05/2010, 15h43
  4. aide programme
    Par coeur noire dans le forum Électronique
    Réponses: 6
    Dernier message: 17/03/2010, 23h15
  5. Aide Programme BUS I2C
    Par invite8916ae1c dans le forum Électronique
    Réponses: 2
    Dernier message: 06/06/2009, 16h48
Découvrez nos comparatifs produits sur l'informatique et les technologies.