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

Idée pour s'entrainer sur l'UART ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#41 Message par Jérémy » mer. 16 déc. 2015 18:32

On est bien d'accord ?

Tout a fait . azerty saffiche a la bonne place et en entier

regarde page 275 fig 16-5 du datasheet du 16f46k22 la réponse est peut être là.

je regarde de suite
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Idée pour s'entrainer sur l'UART ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#42 Message par Jérémy » mer. 16 déc. 2015 18:42

je regarde de suite

C'est au-dessus encore la . Je comprends rien de chez rien .... la honte !! exit
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Idée pour s'entrainer sur l'UART ?
Claudius
Avatar de l’utilisateur
Passionné
Passionné
Messages : 260
Âge : 69
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#43 Message par Claudius » mer. 16 déc. 2015 18:45

Effectivement patou149, pour moi la bonne syntaxe est celle de la doc de LCD_Out; à savoir:

Code : Tout sélectionner

Lcd_Out (1, 1, "azerty");
Lcd_Out (1, 1, Rx_buffer);

Idée pour s'entrainer sur l'UART ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#44 Message par Jérémy » mer. 16 déc. 2015 18:49

donc c'est mon buffer qui a un problème, ou alors il est mal remplit ! car je n'ai que 2 lettres écrient ? enfin j'essaye d'aider hein !!
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Idée pour s'entrainer sur l'UART ?
Claudius
Avatar de l’utilisateur
Passionné
Passionné
Messages : 260
Âge : 69
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#45 Message par Claudius » mer. 16 déc. 2015 18:58

Sans doute, il faut donc faire un dump celui-ci (outil à développer sinon on risque d'y passer la nuit ;-)).
J'ose espérer qu'il y a des outils de debug (vers une console série par exemple) ?

Idée pour s'entrainer sur l'UART ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#46 Message par Jérémy » mer. 16 déc. 2015 19:06

Sans doute, il faut donc faire un dump celui-ci (outil à développer sinon on risque d'y passer la nuit ;-)).

Oulalalala !!! et moi qui croyais que ca allait être simple l'UART . On va peut etre un peu trop loin la non ? moi je connais pas, je dis ca je dis rien . Je suis pret a tout mais bon dans la limite du raisonnable pour vous aussi

J'ose espérer qu'il y a des outils de debug (vers une console série par exemple) ?

C'est à dire ? vers une console oui je crois j'ai USART terminal ou UDP terminal
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Idée pour s'entrainer sur l'UART ?
Claudius
Avatar de l’utilisateur
Passionné
Passionné
Messages : 260
Âge : 69
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#47 Message par Claudius » mer. 16 déc. 2015 19:40

Rassure toi Jérémy, je suis comme les bébés, j'ai besoin de mes 8 à 9 heures de sommeil toutes les nuits. De plus, la nuit porte conseil ;-)

Plus sérieusement, bienvenu dans le monde de l'Informatique Industrielle qui, sans être compliquée, peut être très déroutante (voire décourageante) et je voulais dire par là que par expérience (je ne dirai pas le nombre de décennies...), il est impératif de se doter d'outils de debugage car combien de fois j'ai pu réaliser des programmes qui tombaient en marche. A la limite, je préfère qu'un programme ne fonctionne pas du 1er coup, cela oblige à se remettre en cause, lire et relire les datasheets, les doc. techniques, s'inspirer des exemples qui fonctionnent, enfin le bon sens qui ne s'apprend pas mais qui s'acquière...

S'agissant de "C'est à dire ? vers une console oui je crois j'ai USART terminal ou UDP terminal": Oui, faut lire toutes les docs associées et surtout maintenant: Naviguer sur la toile, chose que je ne pouvais pas faire à ton âge (2ième indice sur mon expérience ... tic tac, tic tac, ...).

Idée pour s'entrainer sur l'UART ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#48 Message par Jérémy » mer. 16 déc. 2015 19:52

Merci en tout cas du temps que tu m'as accordé aujourd'hui . Tu as bien mérite une bonne nuit de sommeil :D .

Moi par contre je dors peu, alors je vais tout reprendre à zéro. Le hic quand on apprend "in situ"( autodidacte et le fer à la main comme on dit) c'est que je pars avec beaucoup de retard et sans les bases. Ne serait ce que l'anglais c'est déjà une barrière en soi , même si je comprends assez la lecture ( de plus ne plus du moins). j'ai également beaucoup trop d'info a ingurgiter d'un seul coup !

Mais je désespère pas , car c'est la passion qui me fait avancer . tant que j'aurais cette passion , je me battrais. Le tout est de savoir garder la flamme :P .
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Idée pour s'entrainer sur l'UART ?
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#49 Message par paulfjujo » mer. 16 déc. 2015 19:53

bonsoir,


Si tu envoie par un UART write une chaine de caractere
le registre RCREG est quasiment rempli apres 1ms (à 9600 bauds)
il faut donc recuperer tous les car emis et les envoyer directement au LCD ..

Dans la boucle while, tu utilise le mode d'Attente remplissage buffer ..
c'est alors à ce moment que tu tapes au clavier ce que tu veux afficher
mais qui sera validé que sur un nombre de car defini our par appui sur la touche CR (13)
tu ne verras le resultat sur LCD qu'à la fin de saisie.

Le mode de fonctionnement le plus adequate est le mode interruption .. mais à voir plus tard.

Code : Tout sélectionner


char c1
;

 UART1_Write_Text("azerty");
// afficher ce qu'on vientd'envoyer
 while(UART1_Data_Ready() == 1)
{
    c1=UART1_Read();;
     Lcd_Out( 1,1,c1);
}

    
//#######################    BOUCLE INFINIE     ####################################
 while (1)
{
 // des qu'on frappera un caractere au clavier
//on entre dans la boucle d'attente de lecture UART1 ci dessous  ,
// TANT qu'ion aura pas 15 caractere ou rencontré le CR=13 (enter du clavier)
    if(UART1_Data_Ready() == 1)
   {
        UART1_Read_Text(Rx_buffer, 13, 15);
        //WordToStr (Rx, Tx_buffer);
        Lcd_Out( 2,1,Rx_buffer);
        delay_ms(1000);
  }

 
Aide toi, le ciel ou FantasPic t'aidera

Idée pour s'entrainer sur l'UART ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#50 Message par Jérémy » mer. 16 déc. 2015 20:26

Bonsoir Paulfjujo,

Effectivement j'ai l'impression qu'il y a du mieux avec ton code , mais l’écran du LCD se remplit de n'importe quels caractères !!
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 31 invités