RS232 PIC16F870 Information
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

RS232 PIC16F870 Information



  1. #1
    invitee4acfb58

    RS232 PIC16F870 Information


    ------

    Bonjour à tous

    voici un petit moment que j'ai commencé la programmation des µc de type pic mais jusqu'à présent je n'es utilisé que des fonctions de base.
    Aujourd'hui j'essaie la communication RS232 mais je pense qu'il y a des choses que je n'es pas bien compris.

    Voici mon programme


    /* ============================ */
    /* Main */
    /* ============================ */

    void main (void)
    {
    if (RA5){
    transmit_data ();
    }
    }


    /* ============================ */
    /* Transmit Data */
    /* ============================ */

    void transmit_data (char data)
    {

    /* Configuration RS232 */
    /* ============================ */

    BRGH = 0;// low speed formula for baud rate Fosc/(64(X+1))
    SPBRG = 207; // calcul for 300 Baud
    SYNC = 0; // asynchrone
    SPEN = 1; // enable serial port pins
    TXEN = 1; // enable transmit
    CSRC = 1; // master mode mais don't care car asynchrone

    /* data à envoyé */
    /* ============================ */

    char transmit = 0; // decalaration de data
    TXREG = 0b10101010;
    while (TXIF == 0); // tant que TXIF vaut 0
    transmit = TXREG;
    SPEN = 0;
    data = transmit;
    }

    En fait je pense que mon problème est simple j'aimerais juste lire la valeur TXREG sur la pin SDA de mon µC. je pense avoir un problème de syntaxe.

    Merci pour votre aide

    -----

  2. #2
    invitee4acfb58

    Re : RS232 PIC16F870 Information

    Alors j'ai un peu avancé, j'ai compris un petit problème qui me faisait échouer le build


    /* ============================ */
    /* Main */
    /* ============================ */

    void main (void)
    {
    if (RA5){
    transmit_data (10101101);// exemple
    }
    }


    /* ============================ */
    /* Transmit Data */
    /* ============================ */

    void transmit_data (char data)
    {

    /* Configuration RS232 */
    /* ============================ */

    BRGH = 0;// low speed formula for baud rate Fosc/(64(X+1))
    SPBRG = 207; // calcul for 300 Baud
    SYNC = 0; // asynchrone
    SPEN = 1; // enable serial port pins
    TXEN = 1; // enable transmit
    CSRC = 1; // master mode mais don't care car asynchrone

    /* data à envoyé */
    /* ============================ */

    while (TXIF == 0); // tant que TXIF vaut 0
    data = TXREG;
    SPEN = 0;
    }

    par contre je n'arrive pas a lire ma trame (si elle bien envoyé ) .

    Merci pour votre aide

Discussions similaires

  1. Rs232
    Par invite23d482d8 dans le forum Électronique
    Réponses: 2
    Dernier message: 24/04/2010, 08h14
  2. Rs232
    Par invite8206bae6 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 0
    Dernier message: 14/03/2010, 14h12
  3. Rs232
    Par invitedba2660f dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 25/01/2007, 22h52
  4. Code sur PIC16F870
    Par Adrian1903 dans le forum Électronique
    Réponses: 1
    Dernier message: 04/05/2006, 07h53
  5. Scanner un Clavier 4*4 avec PIC16F870
    Par Adrian1903 dans le forum Électronique
    Réponses: 14
    Dernier message: 03/05/2006, 11h15
Découvrez nos comparatifs produits sur l'informatique et les technologies.