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

Liaison série PIC16F877A - Hyperterminal



  1. #1
    Morgane89

    Liaison série PIC16F877A - Hyperterminal


    ------

    Coucou tout le monde !

    J'ai tenté une liaison série tout l'après-midi mais en vain !!

    Je vous explique :
    Je souhaite faire communiquer l'hyperterminal de windows avec mon pic16f877a (bien-sûr avec comme interface, le transceiver MAX 232).
    J'utilise le compilateur HI-TECH sous MPLAB v8.02

    Le (trés simple : p) programme que j'ai écris est sencé envoyer le nombre 1 (0x31) à l'hyperterminal (vous trouverez en bas mon code)
    J'arrive à compiler le programme et l'executer en mode débugger mais rien ne se passe lorsque je me connecte à l'hyperterminal...

    Voici mes réglages au niveau de l'hyperterminal :
    Vitesse : 9600
    Bits de données : 8
    Parité : Aucun
    Bit d'arrêt : 1
    Contrôle de flux : Aucun

    Quelqu'un aurait une suggestion ? Je suis vraiment désespérée...


    Code:
    #include<stdio.h>
    #include<stdlib.h>
    #include<pic.h>
    
    void RS232_Init(void);
    
    void main(void)
    {
    	unsigned char data;
    
    	TRISC=0b10000000 ;
    	RS232_Init();
    	data=0x31;
    	while(!TXIF)
    	TXREG=data;
    	while(!TRMT);
    
    }
    	
    	
    void RS232_Init(void)
    {
    	RCSTA=0b10010000;
    	TXSTA=0b00100110;
    	PIR1=0b00001000;
    	SPBRG = 25;
    }

    -----
    Dernière modification par Morgane89 ; 20/03/2009 à 18h16.

  2. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    maximilien

    Re : Liaison série PIC16F877A - Hyperterminal

    Bonsoir Morgane!
    Citation Envoyé par Morgane89 Voir le message
    J'arrive à compiler le programme et l'executer en mode débugger
    Ca marche à ce moment là?

    D'après ton prog tu ne transmet qu'une seul fois (peut être rajouter un do{ }while(1))
    Avec un oscillo ensuite tu pourra voir un peu plus ce qui se passe ou ce qui ne se passe pas!

    C'est aussi dans mes projets perso de communiquer avec un pic a un PC. Cela grace a mon easy pic! Bientôt...

  5. #3
    invite03481543

    Re : Liaison série PIC16F877A - Hyperterminal

    Bonjour,
    quelques précisions:

    Code:
    void putch(unsigned char byte) {	// envoi d'un byte
                 TXREG = byte;
    	while(!TXIF)	
                 }
    
    void main(void)
    {
    unsigned char data;
    
                 GIE = 1;
                 SPBRG = 25  // 9600bds
                 TXSTA = 0x24;
                 RCSTA = 0x90;
                 RCIE = 1;	
    	    TRISC=0b10000000 ;
    	  data=0x31;
                 putch(0x31);
                 while(1){..........}
                         	
    
    }
    Dernière modification par HULK28 ; 21/03/2009 à 09h51.

  6. #4
    invite03481543

    Re : Liaison série PIC16F877A - Hyperterminal

    On peut enrichir la fonction d'envoi avec quelques améliorations:

    Code:
    void putchar(unsigned byte)   // Emission de donnée sur le port série
    	{
    	while(!TXIF);	// si le registre d'émission est vide, on sort de la boucle 
                 continue;                	
    	TXREG=byte;	// On met le caractère byte à envoyer dans le registre TXREG
    	while(!TRMT);	// quand TRMT passe à 1 TXREG recoit la data byte à transmettre                         
    	}
    @+

  7. A voir en vidéo sur Futura
  8. #5
    Morgane89

    Re : Liaison série PIC16F877A - Hyperterminal

    Merci pour vos réponses !

    Et non, ça ne marche toujours pas !

    La boucle do while de maximilien : ça ne marche tjr pas!

    La proposition de hulk : le programme compile et fonctionne dans le mode déguger (grâce à la fonction "watch" j'observe TXREG qui prend bien la valeur "0x31") mais toujours rien quand je lance l'hyperterminal.

    A l'oscillo j'ai 5V sur la broche TX du PIC ; pareil pour la broche RX.

    A bientôt!

  9. #6
    invite03481543

    Re : Liaison série PIC16F877A - Hyperterminal

    Pouvez-vous poster le schéma de câblage?

  10. Publicité

Discussions similaires

  1. Repose liaison série µc
    Par thomasalbert1993 dans le forum Électronique
    Réponses: 3
    Dernier message: 16/07/2008, 10h42
  2. Réponses: 18
    Dernier message: 03/06/2008, 14h10
  3. Liaison Pocket PC-HyperTerminal-MicroC
    Par Padrino dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 22/04/2008, 14h54
  4. Liaison Serie
    Par ibrakanet dans le forum Électronique
    Réponses: 0
    Dernier message: 03/06/2007, 10h53
  5. Multiplexeur de liaison serie ...
    Par Seb.26 dans le forum Électronique
    Réponses: 59
    Dernier message: 24/09/2006, 01h48
Découvrez nos comparatifs produits sur l'informatique et les technologies.