Usart ou I2C?

Usart ou I2C? - C - Programmation

Marsh Posté le 14-06-2006 à 11:10:05    

Bonjour,
 
Dans mon projet, j'utilise un 18F452, qui me permet d'acquerir des données. Je les stock dans la mémoire (enfin ca je dois ecrire le programme) puis à l'aide d'un pc portable je viens recuperer les informations acqueri au préalable.
 
Donc je me demande quoi utiliser comme protocole de communication? l'usart ou l'i2c?
 
Sachant que je suis vraiment débutant, je programme sur MikroC et/ou MPLAB C18.
 
Avez-vous des exemples à me proposer?

Reply

Marsh Posté le 14-06-2006 à 11:10:05   

Reply

Marsh Posté le 14-06-2006 à 15:08:26    

srr a écrit :

Dans mon projet, j'utilise un 18F452, qui me permet d'acquerir des données. Je les stock dans la mémoire (enfin ca je dois ecrire le programme) puis à l'aide d'un pc portable je viens recuperer les informations acqueri au préalable.


acquises... Je suis attéré de voir le niveau de français baisser un peu plus chaque jour...

Citation :


Donc je me demande quoi utiliser comme protocole de communication? l'usart ou l'i2c?
 
Sachant que je suis vraiment débutant, je programme sur MikroC et/ou MPLAB C18.


A moins que ton PC ait un port I2C (fort peu probable), USART, bien sûr, en mode UART (RS-232 asynchrone). Ton PC portable doit disposer d'un port série. Si il n'en a pas, il faut un adaptateur USB/Série et le logiciel de 'virtualisation du port série' qui va avec...  
 
Ensuite il faut que tu écrives un programme sur le PC ? Si oui, il faut que tu gères le port série sur le PC.  
 
Quel système ?


Message édité par Emmanuel Delahaye le 14-06-2006 à 16:25:03

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 14-06-2006 à 15:52:04    

désolé pour la faute de français je n'etais pas attentif.
 
En faite, le µc récupère les données, les analyses, en fonction du bit reçu soit on a une info' R.A.S., soit DEFAUT.
Enfin je dois stocker les données, le tazbleau où elles sont stocker dans la mémoire du µc, puis à l'aide du pc portable je les récupere via le port serie.
Le système du Pc est XP, je programme le µc avec MikroC, et je peux le faire avec MPLAB C18

Reply

Marsh Posté le 14-06-2006 à 16:27:08    

srr a écrit :

désolé pour la faute de français je n'etais pas attentif.
 
En faite, le µc récupère les données, les analyses, en fonction du bit reçu soit on a une info' R.A.S., soit DEFAUT.
Enfin je dois stocker les données, le tazbleau où elles sont stocker dans la mémoire du µc, puis à l'aide du pc portable je les récupere via le port serie.
Le système du Pc est XP, je programme le µc avec MikroC, et je peux le faire avec MPLAB C18


Ok et ta question sur le langage C, c'est quoi ?
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 15-06-2006 à 09:44:49    

alors ma question c'est comment utiliser la mémoire du µc pour mémoriser les acquisitions, et ainsi récuperer les données via le port série pour imprimer ces derniers?

Reply

Marsh Posté le 15-06-2006 à 12:58:50    

srr a écrit :

alors ma question c'est comment utiliser la mémoire du µc pour mémoriser les acquisitions, et ainsi récuperer les données via le port série pour imprimer ces derniers?


Il faut définir la nature et le volume des données à traiter, la stratégie de stockage (tout, les n dernières, le n premières...), le protocole d'échange de données (format, acquittement...).
 
Ensuite, il faut implémenter tout ça. Ca peut dépendre de considérations matérielles (limitation en taille mémoire, vitesse de traitement...). Mettre en oeuvre le mécanisme de transfert de données (UART : vitesse, format...), configurer les registres comme il faut... avoir un cablage cohérent etre les machines...  
 
Tout est à faire. Tu n'as jamais réalisé de projet ?


Message édité par Emmanuel Delahaye le 15-06-2006 à 12:59:31

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 15-06-2006 à 13:29:15    

Euh non je n'ai jamaisd réalisé de projet,, c'est mon 1er.
 
En fait, j'ai déjà défini la nature des données, se sont des bits que je transforme en caractéres suivant la nature 1=R.A.S., 0=DEFAUT, et je les stock dans un tableau.  
Ensuite je veux mettre ce tableau dans la memoire du µc, puis effectuer une autre mesure, une autre asquisition, et sauvegarder le nouveau tableau dans la memoire, et ainsi de suite (pas trop quand meme).
Enfin j'utilise le protocole USART pour la liaison serie avec le pc pour récuperer les tableaux.
 
Mon probléme se situe maintenant à l'exploitation de la mémoire du µc.
Voila.
SI tu veux je peux t'envoyer en format texte mon programme avec les commentaires pour voir ce que c'est.

Reply

Marsh Posté le 15-06-2006 à 13:46:05    

srr a écrit :

En fait, j'ai déjà défini la nature des données, se sont des bits que je transforme en caractéres suivant la nature 1=R.A.S., 0=DEFAUT, et je les stock dans un tableau.  
Ensuite je veux mettre ce tableau dans la memoire du µc,


 
Si tu stockes dans un tableau, ça y est, c'est dans la mémoire du µC...
 
Le reste est très vague. Tu peux être plus précis ?
 
Si j'ai bien compris, tu réalises à intervalle de temps réguliers, une (ou une série de) mesure(s).  

  • Quel est le nombre de bits significatifs ?
  • Y'a-t-il plusieurs sources de données ?
  • Faut-il dater les mesures (date absolue, date relative en ticks...)
  • Quelle durée entre chaque mesure ?
  • Quelle durée entre chaque relevé?


Ce serait bien qu'on ait une spécification claire... avec un synoptique (capteurs, unités de traitements, liaisons...)


Message édité par Emmanuel Delahaye le 15-06-2006 à 13:47:47

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 16-06-2006 à 09:09:40    

alors le nm de bits significatifs est de 20.
Il y'a 15 pattes du µc qui permettent l'acquisition.
Pour le moment la date n'est pas nécéssaire.
La durée entre chaque mesure est aléatoire, ce module ne servira qu'en cas de defaut apparent.
les relevés se feront la plupart du temps apres la détection d'une avarie sur le systéme.
 
Je peux t'envoyer un exemple de tableau qui devra etre généré si tu veux.

Reply

Marsh Posté le 16-06-2006 à 14:11:20    

srr a écrit :

alors le nm de bits significatifs est de 20.
Il y'a 15 pattes du µc qui permettent l'acquisition.


Ca va être difficile d'avoir 20 bits significatifs avec 15 bits de donnéee... Ca se fait en 2 fois ?

Citation :


La durée entre chaque mesure est aléatoire, ce module ne servira qu'en cas de defaut apparent.
les relevés se feront la plupart du temps apres la détection d'une avarie sur le systéme.


Pas de date... OK, Un numéro d'incident ?

Citation :

Je peux t'envoyer un exemple de tableau qui devra etre généré si tu veux.


Oui.


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 16-06-2006 à 14:11:20   

Reply

Marsh Posté le 16-06-2006 à 14:37:46    

y'a des pattes qui donnent 3 informations
le numero d'incident, bé ca ira de 1 à ce que la mémoire peut contenir en rapport.
Je t'envoie les rapports di suite

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed