Liaison SERIE-USB microcontroleur linux

Signaler
Messages postés
1
Date d'inscription
vendredi 4 juin 2010
Statut
Membre
Dernière intervention
4 juin 2010
-
Messages postés
47
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 juin 2011
-
Bonjour,

Je travaille sur un microcontroleur ATmega32 que je développe sous windows. Le microcontroleur est programmé pour envoyer des données (caractères ascii en décimal) à des intervalles réguliers. Je souhaiterai ensuite récupéré ces données sur un ordinateur sous linux. Je possède une liaison série(RS232)-USB (câble serie-usb) pour communiquer avec l'ordinateur. Pour récupérer les données j'ai créer un programme C qui essaye de lire le port. Mais les données lu ne correspondent pas à celles attendues. Si vous pouvez m'aider, merci.

#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include

int main()
{
int f= open("/dev/ttyUSB0", O_RDONLY), r, n=1;
char c;

assert(f > 0);
while (r=read(f,&c,1) > 0){
printf("%d catactere lu: %c\n", n++, c);
}
return 0;
}

1 réponse

Messages postés
47
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 juin 2011

Le périphérique est en RS232 et tu as un adaptateur USB pour ton pc, c'est bien cela?

Je te conseille tout d'abord d'utiliser un outil pour espionner la communication et récupérer les messages échangés(peut être en as-tu livré un avec l'adaptateur sinon recherche sur le web).

Ainsi, tu vérifies que la communication fonctionne comme il se doit (que les messages souhaités sont bien envoyé).

Si c'est le cas, il va falloir s'orienter côté code (qui au passage me semble correct)... Pense a bien initialiser ton CHAR!