[Programmation] récupération de donnée via RS232 par un pic 18F47J13
Répondre à la discussion
Affichage des résultats 1 à 18 sur 18

récupération de donnée via RS232 par un pic 18F47J13



  1. #1
    invite2ff4c604

    récupération de donnée via RS232 par un pic 18F47J13


    ------

    Bonjour,

    Je souhaite récupérer des données via un scanner de code barre en liaison RS232 passant par un MAX232 relié au pic18.
    J'arrive à établir une liaison basic d'USART (envoie d'un caractère et visualisation) mais je ne sais pas comment faire pour récupérer des données.
    Je code grâce au compilateur MPLAB IDE v8.92

    Merci

    -----

  2. #2
    invitee05a3fcc

    Re : récupération de donnée via RS232 par un pic 18F47J13

    Bonjour qanaelle et bienvenue sur FUTURA
    Citation Envoyé par qanaelle Voir le message
    Je souhaite récupérer des données via un scanner de code barre en liaison RS232 passant par un MAX232 relié au pic18.
    Tu as une doc avec le scanner ? Tu as le format de la trame transmise? La vitesse ? Yapluka ....

  3. #3
    paulfjujo

    Re : récupération de donnée via RS232 par un pic 18F47J13

    bonjour,

    J'arrive à établir une liaison basic d'USART (envoie d'un caractère et visualisation) mais je ne sais pas comment faire pour récupérer des données.

    il faut gerer la partie reception UART ,
    en definissant un buffer de taille suffisante
    et traiter l'interruption sur Rx via les flag RCxIF et RCxIE
    x pour UART1 ou UART2.

    Ce scanner utilise un protocole de transmission ?
    ou envoi tout de go , les donnes lorsqu'on flash le code ?

    comme le precise DAUDET78 , il faut connaitre au moins la methode d'encapsulage des donnees emises par le scanner.

    tu peux d'avance essayer de connecter un simple terminal PC en recepetion
    et voir ce que tu recuperes ..
    de l'ascii (texte) , donc visible sur l'ecran PC
    du binaire .. visible seulement en affichant en hexadecimal ?
    mais là il faudra absolument connaitre le format de trame et protocole pour decoder tout ça

  4. #4
    invite2ff4c604

    Re : récupération de donnée via RS232 par un pic 18F47J13

    merci
    alors voila la doc technique du scanner et il communique en liaison RS232
    par contre pour la vitesse je suis pas sur de ce que j'ai trouvé dans la datasheet ..

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

    Re : récupération de donnée via RS232 par un pic 18F47J13

    d'après la datasheet, le protocole de transmission est du RS232

  7. #6
    invitee05a3fcc

    Re : récupération de donnée via RS232 par un pic 18F47J13

    Avec le lecteur, il y a un CD de soft. Tu l'as ?

  8. #7
    invite2ff4c604

    Re : récupération de donnée via RS232 par un pic 18F47J13

    je vais demander du coup , car il parle d'un cd soft dans la datasheet ?

  9. #8
    invite2ff4c604

    Re : récupération de donnée via RS232 par un pic 18F47J13

    pour le moment, j'initialise correctement et je récupère mon caractère

    Code:
    #include <p18f47j13.h>
    #include <delays.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <usart.h>
    
    // initialisation des bits de configuration matérielle 
    #pragma config  OSC = INTOSCPLL		//clock
    #pragma config CFGPLLEN = ON
    #pragma config PLLDIV = 2    
    #pragma config PLLSEL = PLL96
    #pragma config XINST = OFF
    
    //définition de variable
    #define	CONFIG_ADCON1		0x8e
    
    #define SPEED_VALUE 	77   
    
     
    void ledControl(){
    		PORTEbits.RE2 = 1;
    		Delay10KTCYx (160);	// 400 ms
    		PORTEbits.RE2 = 0;
    		Delay10KTCYx (160);		
    }
    
    void main ()
    {
    	//char une_chaine_variable[20];
    	char caractere;
    	 INTCONbits.GIEH = 0;	// inhibe les interuptions
    	 TRISA = 0xFF;
    	 TRISB = 0xFF;
    	 TRISC = 0xBF;		//	10111111 -> R6 (TX) est en sortie				
    	 TRISD = 0xFF;
    	 TRISE = 0x0F;			// RE0 en sortie
    	 PORTB = 0x00;
    	 PORTC = 0x00;
    	 PORTD = 0x00;
    	 PORTE = 0x00;
    	
    	 ADCON1 = CONFIG_ADCON1;
    	
    //	 OSCCON = CONFIG_OSCILLATEUR_INTERNE;
    //	 OSCTUNEbits.PLLEN = 0;
    	 // par defaut stdout = _H_USART;
    //	 stdout = _H_USART;
    	
    	  Open1USART(USART_TX_INT_OFF &
    		 USART_RX_INT_OFF & 
    		 USART_ASYNCH_MODE &
    		 USART_EIGHT_BIT &
    		 USART_CONT_RX &
    		 USART_BRGH_LOW
    		 , SPEED_VALUE );
    	
    
    	 
    	 Delay10KTCYx (160);	// 400 ms
    	
    	INTCONbits.PEIE = 0;
    	INTCONbits.GIEH = 0;
    	
    	  do {
    		ledControl();
    		if( DataRdy1USART() ){  // si registre de transmission est vide 							TEST DE RECEPTION 
    			caractere=getc1USART(); // getcUSART get le caractere tapé par l'utilisateur
    			putc1USART(caractere);  // le micro renvoie le caractere tapé
    		}
    		
    		putc1USART('b'); // envoie d'un caractere en boucle 											TEST DE TRANSMISSION
    		}
    	
    	while(1);
    }

  10. #9
    invitee05a3fcc

    Re : récupération de donnée via RS232 par un pic 18F47J13

    Citation Envoyé par qanaelle Voir le message
    je vais demander du coup , car il parle d'un cd soft dans la datasheet ?
    Ben oui . CD pour installer le soft CLV sur PC (§10 page 4/146)
    Plus des étiquettes codes barres d'initialisation/test (§10.5.2 page 111/146)

    Tu n'as pas fini de rigoler avec ce truc . C'est aussi difficile à mettre en oeuvre qu'une formule I !
    Tu as intérêt à bien lire et relire la notice et à faire marcher ton lecteur sur un PC avec le soft CLV pour te faire la main (§11 page 4/146)
    La liaison est RS232 ou RS485 ou BUS CAN (page 89/146)
    Par défaut RS232 9600bds

  11. #10
    invite2ff4c604

    Re : récupération de donnée via RS232 par un pic 18F47J13

    Je pense que je vais déjà mettre en oeuvre la liaison RS232 et si j'y arrive l'implémenter sur le scanner.

  12. #11
    invitee05a3fcc

    Re : récupération de donnée via RS232 par un pic 18F47J13

    Citation Envoyé par qanaelle Voir le message
    Je pense que je vais déjà mettre en oeuvre la liaison RS232
    Sur le µC ? Ca sert à rien pour le moment .
    Ta priorité, c'est de faire marcher ton scanner sur un PC avec le soft CLV .
    Après tu t'occuperas de ton µC

  13. #12
    RISC

    Re : récupération de donnée via RS232 par un pic 18F47J13

    Salut,
    Quel compilateur utilises-tu ? XC8 ?
    Pourquoi utilises-tu le très vieux MPLAB v8.xx au lieu de MPLAB X ?
    a+

  14. #13
    invite2ff4c604

    Re : récupération de donnée via RS232 par un pic 18F47J13

    On nous a appris à coder sur ce compilateur mais je vous l'accords ce n'est pas le plus récent.

  15. #14
    RISC

    Re : récupération de donnée via RS232 par un pic 18F47J13

    Salut,
    MPLAB n'est PAS un compilateur, c'est un environnement de développement.
    Ton compilateur C s'appelle soit C18 ou XC8 ?
    Il faudrait que ton "prof" se remette à la page...MPLAB v8.xx a disparu depuis 6 ans...
    As-tu un quartz sur ton processeur ?
    Prend un oscilloscope et regarde si quelque chose bouge sur les broches RX et TX
    a+

  16. #15
    invite5637435c

    Re : récupération de donnée via RS232 par un pic 18F47J13

    Citation Envoyé par RISC Voir le message
    Salut,
    Quel compilateur utilises-tu ? XC8 ?
    Pourquoi utilises-tu le très vieux MPLAB v8.xx au lieu de MPLAB X ?
    a+
    Parceque c'est de la m... en boite...

  17. #16
    invite5637435c

    Re : récupération de donnée via RS232 par un pic 18F47J13

    Donc elle a un bon prof.
    Tu devrais pourtant le savoir RISC, on aime utiliser ce qui fonctionne bien, pas passer son temps à douter du matériel.
    Rien n'oblige en plus à utiliser XC8 ni MPLAB.
    Comme d'habitude jamais objectif, toujours directif vers tes intérêts.

  18. #17
    antek

    Re : récupération de donnée via RS232 par un pic 18F47J13

    Citation Envoyé par RISC Voir le message
    Il faudrait que ton "prof" se remette à la page...MPLAB v8.xx a disparu depuis 6 ans...
    Bof, Microchip le propose encore.
    Je suis passé à MPLABX de mon plein gré, un pistolet pointé sur la tête.

  19. #18
    invite5637435c

    Re : récupération de donnée via RS232 par un pic 18F47J13

    Je n'aurai pas dit mieux.

Discussions similaires

  1. récuperation d'une donnée 16bit
    Par inviteb5b0fd5b dans le forum Électronique
    Réponses: 2
    Dernier message: 26/11/2013, 05h16
  2. récupération de donnée (puissance)
    Par invite59ffe546 dans le forum Électronique
    Réponses: 10
    Dernier message: 01/09/2012, 11h09
  3. récupération de donnée
    Par invite708d9584 dans le forum Matériel - Hardware
    Réponses: 8
    Dernier message: 29/12/2008, 13h16
  4. Microcontroleur, utiliser une donnée RS232
    Par Tony78 dans le forum Électronique
    Réponses: 1
    Dernier message: 28/07/2008, 16h26
  5. recuperation de donnée du disque dur
    Par invite8020c84a dans le forum Matériel - Hardware
    Réponses: 8
    Dernier message: 03/07/2007, 11h19
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...