Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1583 connectés 

  FORUM HardWare.fr
  Programmation
  C

  decodage de donnees et rafraichissement d'ecran

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

decodage de donnees et rafraichissement d'ecran

n°1267169
avmtptortr​i
Posté le 15-12-2005 à 12:54:17  profilanswer
 

Bonjour,  
je suis en phase d'apprentissage de programmation en c, ce qui explique certainement le niveau de mes questions.
Un telegramme (constitue d'une sequence de lettres et chiffres et symboles) arrive de maniere periodique (frequence d'arrivee des donnees superieure ou non a celle du processeur). Le but est de le decoder et d'afficher une classification.  
Pour cela, je pense prendre chaque caractere arrivant sequentiellement, le stocker dans un buffer a l'aide d'un pointeur et, lorsque tout le telegramme a ete reçu, le decoder. Pendant ce temps, je dois continuer a attendre les caracteres suivants. Je ne veux donc pas interrompre la boucle principale d'arrivee des messages.  
De plus, d'une classification à l'autre, j'aimerais rafraichir l'ecran sur lequel je compte afficher cette classification.  
Quelqu'un aurait il une idee qui pourrait m'aiguiller (aussi bien pour l'algorithme que pour le code)?  
Desole pour le niveau des questions, et merci d'avance pour votre aide

mood
Publicité
Posté le 15-12-2005 à 12:54:17  profilanswer
 

n°1267174
Elmoricq
Modérateur
Posté le 15-12-2005 à 13:01:36  profilanswer
 

Je ne suis pas sûr de comprendre ce que tu cherches à faire.
 
Mais je pense que ce genre de tâche peut se centraliser en une seule boucle.
Du genre :
TANT QUE (réception non terminée)
   Récupérer un caractère
   Stocker le caractère en mémoire
   Rafraîchir l'affichage
FIN TANT QUE
 
 
Evidemment, si ton but est d'utiliser plusieurs processus parallèles, soit tu es sous Unix et tu utilises un bon vieux fork() des familles, soit tu étudies les threads.  
Mais comme tu es débutant, je te conseille plutôt de t'atteler à la première solution, celle de la boucle. Je pense que ce sera bien suffisant pour la tâche que tu as à mener.

n°1268159
avmtptortr​i
Posté le 16-12-2005 à 10:05:45  profilanswer
 

Merci pour ta reponse
En fait, je vais utiliser l’environnement de programmation metrowerks et une fois le code acheve, l’implementerai sur l’hardware developpe.  
J’utiliserai egalement un afficheur LCD connecte au nicrocontroleur que je vais utliser (star12) via une interface parallele.
En fait, j’ai cree un pcb constitue d’un microcontroleur, un afficheur LCD, une alimentation (et bien sur d’autres composants : capas, diodes, resistances de protection, quartz…). Ceci sera un testeur pour etablir une classification d’occupant.  
La vitesse du processeur est environ egale a 8MHz.
Le testeur est connecte a un multi gateway (MGW) par l’intermediaire d’une interface serie (cable RS232) et le MGW est connecte au capteur sensoriel de classification (sur le siege de la voiture) via la communication standard GMLAN qui transmet les messages a une vitesse de 38400 bauds. Je dois envoyer une requete en premier lieu, ensuite je reçois un telegramme de reponse indiquant que la communication est autorisee (desole pour la traduction de « enabled ») et par la suite le testeur reçoit periodiquement des messages (sans autre requete prealable) a une vitesse donc de 38400 Bauds. Chaque caractere du telegramme arrive sequentiellement, je dois donc le stocker dans un buffer et une fois que tout le telegramme a ete reçu, je peux le decoder et trouver la classe.
 Tout d’abord, j’initialiserai les ports (du microcontroleur, de l’afficheur LCD, du MAX232), comme entree, sortie ou entree/sortie selon les data sheets que j’ai (pour l’interface parallele, l’initialization des ports (cote LCD et cote micro) recevant les signaux de donnees transmis entre le micro et le LCD dependent de la valeur des signaux R/W et enable).  
Ensuite  j’envoie donc la cle d’activation puis une fois activee je dois en meme temps, stocker les donnees arrivant et attendre les caracteres suivants. Je peux utiliser une interruption du main pour stocker ces donnees puisque la vitesse d’arrivee des donnees ets tres faible devant celle du processeur. Quand le telegramme a ete reçu je prends les donnees stockees sequentiellement, les decode, rafraichs l’ecran et affiche la classe trouvee ou un signal d’erreur.
J’espere que j’ai pensé a decrire le maximum de choses.
Je pense aussi qu’une boucle while suffit mais le codage avec pointeur prenant les donnees et pointeur plaçant les donnees dans le buffer, ma ralentit bien vu que je sais pas trop comment m’y prendre.
merci encore d’avance
a+

n°1268177
Elmoricq
Modérateur
Posté le 16-12-2005 à 10:19:57  profilanswer
 

avmtptortri a écrit :

une fois le code acheve, l’implementerai sur l’hardware developpe.  


 
Ahhh... tu es sur de l'embarqué. La problématique est très différente.  
 

avmtptortri a écrit :

Je pense aussi qu’une boucle while suffit mais le codage avec pointeur prenant les donnees et pointeur plaçant les donnees dans le buffer, ma ralentit bien vu que je sais pas trop comment m’y prendre.


 
Ca ne devrait pas te ralentir, si tu gères bien la chose.
 
Maintenant, je suis très loin des réalités des systèmes embarqués, si Emmanuel passe par là il sera de bien meilleur conseil.

n°1270075
avmtptortr​i
Posté le 19-12-2005 à 16:34:15  profilanswer
 

merci bien !
j'espere m'en sortir!

n°1270175
rufo
Pas me confondre avec Lycos!
Posté le 19-12-2005 à 18:52:29  profilanswer
 

ton microcontroleurà 8 Mhz, ça serait pas un 8151 par hasard? A l'iut, j'avais une communication entre 2 pc via un modem. On avait utilisé les interruptions.

n°1270563
avmtptortr​i
Posté le 20-12-2005 à 11:15:27  profilanswer
 

c le MC9S12DG256 de chez motorola que j'utilise. Etant donne que la vitesse du processeur (MHz) est nettement superieure a celle d'arrivee des messages (38400 bits/sec) je peux travailler avec des interruptions sans probleme.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  decodage de donnees et rafraichissement d'ecran

 

Sujets relatifs
Import Export de données dans une BDD SQL et fichier texteProblème d'organisation et d'accès au données
Rafraichissement et FirefoxImage plein écran et mapping.
alimenter une base de donnèes via des services webGestion des données d'un fichier TXT
Base de données gratuite pour soft commercial?base de données des codes barres
recuperer données de tableau dans mailrecuperer les données de cases à cocher
Plus de sujets relatifs à : decodage de donnees et rafraichissement d'ecran


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR