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
    azerty987

    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. Publicité
  3. #2
    azerty987

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

    personne n'a une idée?
    Merci

  4. #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.
    @+

  5. #4
    azerty987

    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

  6. 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, 17h49
  2. Deux cartes graphiques valent-elles plus qu'une seule ?
    Par Ricc66 dans le forum Matériel - Hardware
    Réponses: 23
    Dernier message: 09/11/2008, 22h44
  3. pic qui lis son programme une seule fois...
    Par Raphael2 dans le forum Électronique
    Réponses: 17
    Dernier message: 11/06/2007, 19h25
  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, 23h27
  5. cette solution de serie/parallele/serie fonctionne-t-elle
    Par ABN84 dans le forum Électronique
    Réponses: 17
    Dernier message: 19/08/2005, 15h29
Découvrez nos comparatifs produits sur l'informatique et les technologies.