[Autre] PIC16F877A - RFID - Bluetooth UART - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 38 sur 38

PIC16F877A - RFID - Bluetooth UART



  1. #31
    jiherve

    Re : PIC16F877A - RFID - Bluetooth UART


    ------

    bonsoir,
    j'ai tout de même un peu analysé ton oscillogramme et cela ne correspond à rien, ni au code attendu ni à celui reçu, je crois deviner 0x51 pour le premier octet mais comme j'ai du mal à définir leurs limites je ne suis sur de rien.
    Donc je réitère ma demande précédente.
    et une question supplémentaire : quel est ce scope?
    JR

    -----
    l'électronique c'est pas du vaudou!

  2. #32
    invite47370946

    Re : PIC16F877A - RFID - Bluetooth UART

    Bonsoir JR
    le scope est un DSO4102
    nous sommes bien d'accord, cela ne correspond a rien

    Si l'on fait abstraction du microcontrôleur une liaison série PC 9600/8/1/N avec le module devrais me renvoyer une trame du genre
    pour un tag N° 0016294836


    rfidTag1[14] = {0x02, 0x49, 0x70, 0x48, 0x48, 0x70, 0x56, 0x65, 0x51, 0x66, 0x52, 0x70, 0x48, 0x03};
    DEBUT 0x02
    FIN 0x03
    CHECKSUM 0x49, 0x66

    hors ce que je reçois sur le PC et également sur le microcontrôleur est identique à savoir
    BF 36 7D 9F 73 8F 7D 99 7B 97 73 9F F9 00
    ont à bien nos 14 bits ainsi que le début BF et fin 00
    Je pense que le problème et uniquement au niveau de la configuration du port série et vu que je dispose d'un lecteur manuel qui lui fonctionne correctement et reconnais bien les tags je suis sur de ce que je dois recevoir et là c'est incohérent.
    Donc soit PB module soit PB de configuration et je penche pour la configuration malgré que le module soit constitué d'un element programmable.

    Nom : TAG 0016294836.jpg
Affichages : 65
Taille : 13,7 Ko

  3. #33
    invite47370946

    Re : PIC16F877A - RFID - Bluetooth UART

    Et concernant mes configurations COM

    MCU
    Code:
    void UART_Init()
    {          
        TRISC6 = 1;
        TRISC7 = 1;
        SPBRG = 129;
        BRGH  = 1;  
        SYNC  = 0;    
        SPEN  = 1;    
        TXEN  = 1;    
        CREN  = 1;    
        TX9   = 0;   
        RX9   = 0;    
        RCIE = 1;  
        PEIE = 1;  
        GIE = 1;  
    }
    PC
    Nom : tag.jpg
Affichages : 71
Taille : 164,1 Ko

  4. #34
    invite03481543

    Re : PIC16F877A - RFID - Bluetooth UART

    Citation Envoyé par afaes Voir le message
    Et concernant mes configurations COM

    MCU
    Code:
    void UART_Init()
    {          
        TRISC6 = 1;
        TRISC7 = 1;
        SPBRG = 129;
        BRGH  = 1;  
        SYNC  = 0;    
        SPEN  = 1;    
        TXEN  = 1;    
        CREN  = 1;    
        TX9   = 0;   
        RX9   = 0;    
        RCIE = 1;  
        PEIE = 1;  
        GIE = 1;  
    }
    En principe le Tx doit avoir son TRIS en output.

  5. #35
    jiherve

    Re : PIC16F877A - RFID - Bluetooth UART

    bonjour
    pour un tag #0016294836
    on devrait avoir : 0x02,0x30,0X30,0x31,....,0x25, 0x03 si j'en crois la data sheet du RDM630 qui est compatible
    Example: card number: 62E3086CED
    Output data:36H、32H、45H、33H、30H、38H、3 6H、43H、45H、44H
    CHECKSUM: (62H) XOR (E3H) XOR (08H) XOR (6CH) XOR (EDH)=08H
    En ce qui concerne l’oscillogramme je ne vois pas comment on peut dégoter 0xBF dans le début de trame.
    as tu essayé avec Teraterm sur PC :https://www.01net.com/telecharger/wi...es/146142.html
    JR
    l'électronique c'est pas du vaudou!

  6. #36
    invite47370946

    Re : PIC16F877A - RFID - Bluetooth UART

    Boujour, petit retour sur mes péripéties : après avoir mis en cause le module RDM6300 et recommander un autre problème persistant je me suis dit changeons l'adaptateur SP3232EEN
    j'ai donc commandé sur amazon un convertisseur USB-UART 3-en-1(USB à TTL/USB à RS232 / USB à RS485) (USB-RS232 USB-RS485 USB-TTL) Adaptateur série 3.3-5V avec puce CH340.
    Et la bingo tous fonctionnent correctement comme ne le disait jherve précédemment que de temps perdu !
    Et tout ça pour un adaptateur à la #*//<"###!!

    Donc ci-après pour ceux que cela intéresse vous trouverez mon code pour une lecture de Tag RFID

    3 Tag:
    0016294836
    0010925914
    0010599213

    Code:
    #pragma config FOSC = HS      
    #pragma config WDTE = OFF      
    #pragma config PWRTE = OFF      
    #pragma config BOREN = ON      
    #pragma config LVP = OFF       
    #pragma config CPD = OFF       
    #pragma config WRT = OFF      
    #pragma config CP = OFF     
    
    #define _XTAL_FREQ 20000000
    #include <xc.h>
    #include <stdlib.h>
    #include <string.h>
    
    char rfidTag1[14] = {0x02, 0x31, 0x46, 0x30, 0x30, 0x46, 0x38, 0x41, 0x33, 0x42, 0x34, 0x46, 0x30, 0x03}; 
    char rfidTag2[14] = {0x02, 0x32, 0x43, 0x30, 0x30, 0x41, 0x36, 0x42, 0x37, 0x35, 0x41, 0x36, 0x37, 0x03}; 
    char rfidTag3[14] = {0x02, 0x32, 0x43, 0x30, 0x30, 0x41, 0x31, 0x42, 0x42, 0x32, 0x44, 0x31, 0x42, 0x03}; 
    unsigned char rfid[14]; 
    
    char UART_Init(const long int baudrate)
    {
      unsigned int x;
      x = (_XTAL_FREQ - baudrate*64)/(baudrate*64);  
      if(x>255)                                       
      {
        x = (_XTAL_FREQ - baudrate*16)/(baudrate*16); 
        BRGH = 1;                                     
      }
      if(x<256)
      {
        SPBRG = x;                                   
        SYNC = 0;                                     
        SPEN = 1;                                    
        TRISC7 = 1;                                   
        TRISC6 = 1;                                  
        CREN = 1;                                    
        TXEN = 1;                                    
        return 1;                                     
      }
      return 0;                                      
    }
    
    void UART_Write(char data)
    {
      while(!TRMT);
      TXREG = data;
    }
    
    char UART_TX_Empty()
    {
      return TRMT;
    }
    
    void UART_Write_Text(char *text)
    {
      int i;
      for(i=0;text[i]!='\0';i++)
        UART_Write(text[i]);
    }
    
    char UART_Data_Ready()
    {
      return RCIF;
    }
    
    char UART_Read()
    {
      while(!RCIF);
      return RCREG;
    }
    
    void UART_Read_Text(char *Output, unsigned int length)
    {
      unsigned int i;
      for(int i=0;i<length;i++)
      Output[i] = UART_Read();
    }
    
    void main()
    {
     char i;   
     TRISB=0x00; 
     UART_Init(9600);                    
    
      while(1)                      
     {
       if(UART_Data_Ready())
       {
         for(i=0;i<13;i++)
         {
           rfid[i] = UART_Read();  
           UART_Write(rfid[i]);    
         }
    
           if (memcmp(rfid, rfidTag1, 13) == 0)
                    {
                        RB5=1;
                        //UART_Write_Text("SMS Command GSM Modem")
                    }
           if (memcmp(rfid, rfidTag2, 13) == 0)
                    {
                         RB4=1;
                    }
           if (memcmp(rfid, rfidTag13, 13) == 0)
                    {
                         RB2=1;
                    }
       }
      }
    }

  7. #37
    jiherve

    Re : PIC16F877A - RFID - Bluetooth UART

    bonsoir,
    ah heureusement car là ou nous en étions il ne restait plus qu'a faire pratiquer un exorcisme.
    JR
    l'électronique c'est pas du vaudou!

  8. #38
    invite47370946

    Re : PIC16F877A - RFID - Bluetooth UART

    j'avoue ça m'a rendu dingue cette histoire je ne comprenais plus rien, en tout cas merci pour vos aides !

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. [Programmation] PIC16F877A - ADC - Bluetooth UART [Résolu]
    Par afaes dans le forum Électronique
    Réponses: 5
    Dernier message: 18/11/2019, 00h08
  2. [RF/Radioelec] rfid ou bluetooth
    Par invitefbf96640 dans le forum Électronique
    Réponses: 10
    Dernier message: 11/12/2017, 13h36
  3. Envoi de données via l'uart d'un PIC16F877A
    Par invite639d7aaf dans le forum Électronique
    Réponses: 7
    Dernier message: 05/06/2014, 14h46
  4. commande d'une LED et supervision d'un LM35 via UART pic16f877A
    Par invite0cc83eeb dans le forum Électronique
    Réponses: 2
    Dernier message: 09/05/2013, 11h00
  5. Bluetooth et UART
    Par invite3f22feff dans le forum Électronique
    Réponses: 0
    Dernier message: 07/04/2010, 09h35
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...