Bonjour à tous et merci a l'avance pour votre aide le cas échéant,
Je dispose pour test de 3 tags Rfid :
0010599213
0010925914
0016294836
je devrai obtenir par exemple concernant le tag 0010599213 => 02 | 30 30 31 30 35 39 39 32 31 33 | CHECKSUM | 03
malheureusement je n'obtient que des résultats du genre
j'ai beau essayer plusieurs solutions je n'arrive absolument pas à faire cette conversion.¿³}Ÿ}{{›w{ù pour 0010599213
¿³}Ÿ}“{‘•}“‘ù pour 0010925914
¿6}Ÿs}™{—sŸù pour 0016294836
Si quelqu'un peu m'obtenir la solution où me mettre sur la voie je suis preneur merci.
Si après le code que j'utilise MPLABX XC8
Code:#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT enabled) #pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled) #pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming) #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off) #pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control) #pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off) #define _XTAL_FREQ 20000000 #include <xc.h> #include <stdlib.h> #include <string.h> 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; char rfid[13]; UART_Init(9600); while(1) { if(UART_Data_Ready()) { for(i=0;i<12;) { rfid[i] = 0; rfid[i] = UART_Read(); UART_Write(rfid[i]); i++; } } } }
-----