18F452 reception donnée série qui ne fonctionne qu'une seule fois
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

18F452 reception donnée série qui ne fonctionne qu'une seule fois



  1. #1
    invite4828afd1

    18F452 reception donnée série qui ne fonctionne qu'une seule fois


    ------

    bonjour à tous

    je travaille sur un programme visant a faire communiquer deux pic.
    un premier envoi des données à un deuxieme qui les recoit et les stockent pour les affiicher sur un LCD

    l'emission et l'affcihage lcd fonctionne tres bien.
    Mon probleme est dans la réception.

    voici le code complet du recepteur

    #include <p18F452.h>
    #include <usart.h>
    #include <delays.h>
    #include <string.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #pragma config WDT = OFF
    void configuration1(void);
    void configuration2(void);
    void lcd(void);
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////
    void configuration1(void)
    {
    TRISBbits.TRISB0=1;
    TRISBbits.TRISB1=0;
    TRISBbits.TRISB3=0;
    TRISBbits.TRISB2=0;
    TRISAbits.TRISA4=1;
    TRISAbits.TRISA5=1;

    PORTBbits.RB3=0;
    PORTBbits.RB1=0;
    PORTAbits.RA4=1;
    PORTAbits.RA5=1;
    PORTBbits.RB2=0;

    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////
    void lcd(void)
    {
    InitLCD();
    stdout = _H_USER;

    TRISAbits.TRISA4 = 1;
    printf(" ");
    Gotoxy(0,1);
    printf(" RS 232 ");
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////
    void configuration2(void)
    {
    OpenUSART( USART_TX_INT_OFF &
    USART_RX_INT_OFF &
    USART_ASYNCH_MODE &
    USART_EIGHT_BIT &
    USART_BRGH_HIGH,
    25 );
    RCSTAbits.SPEN = 1;
    }

    int STX;
    int LT;
    int N;
    int AFF;
    int FLAG;
    int IFI;
    int IFh;
    int VFI;
    int VFh;
    int CS;





    void main(void)

    {

    configuration1();
    configuration2();
    lcd();

    while(1)
    {
    putrsUSART("ATTENTE DATA");
    while(!DataRdyUSART());
    STX = getcUSART();
    while(!DataRdyUSART());
    LT = getcUSART();
    while (!DataRdyUSART());
    N = getcUSART();
    while (!DataRdyUSART());
    AFF = getcUSART();
    while (!DataRdyUSART());
    FLAG = getcUSART();
    while(!DataRdyUSART());
    IFI = getcUSART();
    while (!DataRdyUSART());
    IFh = getcUSART();
    while (!DataRdyUSART());
    VFI = getcUSART();
    while (!DataRdyUSART());
    VFh = getcUSART();
    while (!DataRdyUSART());
    CS = getcUSART();


    Clrscr();
    printf("LT = %d ", LT);
    printf("N = %d" , N);
    Gotoxy(0,1);
    printf("AFF =%d", AFF);
    printf("CS =%d" , CS);
    }


    }


    le problème est le suivant: je reçoit les données correctes seulement lors du premier envoi apres le pic fait nimporte quoi..

    avez vous une idee?

    Merci

    -----

  2. #2
    invite4828afd1

    Re : 18F452 recepetion donnee serie qui ne fonctionne qu'une seule fois

    personne n'a une idée?
    Merci

  3. #3
    guillaume83

    Re : 18F452 recepetion donnee serie qui ne fonctionne qu'une seule fois

    bonsoir,
    vous envoyez trop vite les octets , donc débordement.
    pour aller plus vite il faut traiter la reception dans une interuption.
    @+

  4. #4
    invite4828afd1

    Re : 18F452 recepetion donnee serie qui ne fonctionne qu'une seule fois

    Non le probleme ne venait pas de là... car jutilisais
    "while (!DataRdyUSART());"

    probleme venait de l'emetteur

    merci

  5. A voir en vidéo sur Futura

Discussions similaires

  1. fonction dérivable UNE SEULE FOIS dans R...
    Par jecario dans le forum Mathématiques du supérieur
    Réponses: 14
    Dernier message: 24/11/2016, 16h49
  2. Deux cartes graphiques valent-elles plus qu'une seule ?
    Par invite23400e5c dans le forum Matériel - Hardware
    Réponses: 23
    Dernier message: 09/11/2008, 21h44
  3. pic qui lis son programme une seule fois...
    Par Raphael2 dans le forum Électronique
    Réponses: 17
    Dernier message: 11/06/2007, 18h25
  4. Manger une seule fois par jour
    Par Garion dans le forum Maigrir sans régime, c'est possible
    Réponses: 2
    Dernier message: 08/11/2006, 22h27
  5. cette solution de serie/parallele/serie fonctionne-t-elle
    Par ABN84 dans le forum Électronique
    Réponses: 17
    Dernier message: 19/08/2005, 14h29
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...