Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

probléme de valeur envoyées en UART
Jérémy
Administrateur du site
Administrateur du site
Messages : 2112
Âge : 39
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#11 Message par Jérémy » sam. 16 déc. 2017 20:18 lien vers la Data-Sheet : Cliquez ici

satinas a écrit :Source du message Jeremy, juste avant chaque UART1_Write(); il faut mettre
while (UART1_Tx_Idle() == 0) { }


Toujours pas ! même résultat
C'est en faisant des erreurs, que l'on apprend le mieux !!!

probléme de valeur envoyées en UART
Jérémy
Administrateur du site
Administrateur du site
Messages : 2112
Âge : 39
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#12 Message par Jérémy » sam. 16 déc. 2017 20:21 lien vers la Data-Sheet : Cliquez ici

Presque sur qu'il s'agit d'un probléme de timing .
Voila un bon code qui focntionne à 100%, par ciontre ma led clignote pas au rythme de 20ms. bizarre de plus en plus

Code : Tout sélectionner

 while(1){
 
    delay_ms 
(20);
    LATC.B2 = ~PORTC.B2 ;            // Clignotement d'une led pour voir le programme tourner

    while (UART1_Tx_Idle() == 0) { }
    UART1_Write (Compteur);
    Compteur++;

     if ( Compteur >= 58){
        Compteur = 48;
        UART1_Write(10);
        UART1_Write(13);
        delay_ms (500);
      }

 


seulement 20ms entre chaque envoi et ça passe parfaitement . si j'augmente la valeur de la pause entre chaque envoi ça bug !!! bizarre !
Sans titre.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
C'est en faisant des erreurs, que l'on apprend le mieux !!!

probléme de valeur envoyées en UART
satinas
Passioné
Passioné
Messages : 285
Enregistré en : novembre 2015

#13 Message par satinas » sam. 16 déc. 2017 20:26 lien vers la Data-Sheet : Cliquez ici

C'est pas du lego, il faut laisser le while, même si ça marche pas.
Cas particulier, celui que tu as laissé ne sert à rien, car il arrive derrière une tempo de 20ms.
Et j'espère que tu es bien passé à 9600 bauds ...

probléme de valeur envoyées en UART
Jérémy
Administrateur du site
Administrateur du site
Messages : 2112
Âge : 39
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#14 Message par Jérémy » sam. 16 déc. 2017 20:29 lien vers la Data-Sheet : Cliquez ici

satinas a écrit :Source du message Cas particulier, celui que tu as laissé ne sert à rien, car il arrive derrière une tempo de 20ms

??? je le mets ou alors ?

satinas a écrit :Source du message Et j'espère que tu es bien passé à 9600 bauds ..

Oui

pour la led qui ne clignote pas au rythme de 20ms c'est normal j'ai une pause 500ms arrivé à "9"
C'est en faisant des erreurs, que l'on apprend le mieux !!!

probléme de valeur envoyées en UART
satinas
Passioné
Passioné
Messages : 285
Enregistré en : novembre 2015

#15 Message par satinas » sam. 16 déc. 2017 20:33 lien vers la Data-Sheet : Cliquez ici

Juste avant chaque UART1_Write(); il faut mettre
while (UART1_Tx_Idle() == 0) { }
C'est pas clair ça ?

probléme de valeur envoyées en UART
Jérémy
Administrateur du site
Administrateur du site
Messages : 2112
Âge : 39
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#16 Message par Jérémy » sam. 16 déc. 2017 20:36 lien vers la Data-Sheet : Cliquez ici

Ben c'est bien ce que j'ai mis en #12 :?
j'ai mis la boucle juste avant le UART1_Write(); et tu me dis qu'il ne sert a rien car juste aprés une pause de 20ms ?
C'est en faisant des erreurs, que l'on apprend le mieux !!!

probléme de valeur envoyées en UART
satinas
Passioné
Passioné
Messages : 285
Enregistré en : novembre 2015

#17 Message par satinas » sam. 16 déc. 2017 20:39 lien vers la Data-Sheet : Cliquez ici

Ben moi je vois 3 UART1_write() dans ton programme, et le mot "chaque" a son importance, tu sais que je suis pas trop bavard, alors faut pas lire trop vite :)

probléme de valeur envoyées en UART
Jérémy
Administrateur du site
Administrateur du site
Messages : 2112
Âge : 39
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#18 Message par Jérémy » sam. 16 déc. 2017 20:41 lien vers la Data-Sheet : Cliquez ici

effectivement j'ai zappé le reste ! autant pour moi

Re EDIT : Pareil avec les 3 boucles

Code : Tout sélectionner

 while(1){
 
    
delay_ms (500);
    
LATC.B2 = ~PORTC.B2 ;            // Clignotement d'une led pour voir le programme tourner

    
while (UART1_Tx_Idle() == 0) { }
    
UART1_Write (Compteur);

    
Compteur++;

     if ( 
Compteur >= 58){
        
Compteur 48;
        while (
UART1_Tx_Idle() == 0) { }
        
UART1_Write(10);
        while (
UART1_Tx_Idle() == 0) { }
        
UART1_Write(13);
        
delay_ms (500);
      }

 } 
C'est en faisant des erreurs, que l'on apprend le mieux !!!

probléme de valeur envoyées en UART
satinas
Passioné
Passioné
Messages : 285
Enregistré en : novembre 2015

#19 Message par satinas » sam. 16 déc. 2017 20:45 lien vers la Data-Sheet : Cliquez ici

Y a plus qu'à attendre Zorro, Paul de son prénom

probléme de valeur envoyées en UART
Jérémy
Administrateur du site
Administrateur du site
Messages : 2112
Âge : 39
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#20 Message par Jérémy » sam. 16 déc. 2017 20:50 lien vers la Data-Sheet : Cliquez ici

Yop , c'est vrai qu'il gére grave l'UART et tout le reste en général d'ailleurs !

Merci d'avoir passé du temps sur mon problème, je vais continuer a faire des tests!
C'est en faisant des erreurs, que l'on apprend le mieux !!!


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités