Je travail sous Linux en C, et je souhaite envoyer des chaines de caractères vers un modem qui communiquera encore avec un autre modem.
J'ai relié un simple cable USB/PORT COM sur mon pc, et je souhaite tester la reception de mes données, probléme: lorsque je tente un write (ici une boucle for qui va me permettre d'envoyer l'alphabet), et que je tente un read, mon terminal m'indique l'erreur suivante: "Resource temporarily unavailable" que ce soit lorsque je communique avec un modem ou avec mon cable USB/PORT COM.
Je pense que c'est une bétise.. mais ça me prend pas mal la tête parce que je vois pas ce qui cloche :x
Voici mon code pour l'envoie et la réception de caractères
bool COMSend()
{
fd1 = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_NDELAY); // Création du fichier et test
perror("open() ");
char c = 'a'; // Octet à écrire
int i; // compteur
for (i = 0 ; i < 26 ; i++)
{
write(fd1, &c, sizeof(char)); // Ecriture
c++; // Incrément
}
perror("write()");
close(fd1); // On ferme le fichier
perror("close()");
}
bool COMReceive()
{
int fd;
fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY); // Création du fichier et test
perror("open() ");
char c = 0x00; // Octet à lire
int i; // compteur
for (i = 0 ; i < 26 ; i++)
{
read(fd, &c, sizeof(char)); // Lecture
printf("%c", c);
}
printf("\n");
perror("read() ");
}
Si quelqu'un a une idée, je suis preneur, et encore une fois merci aux gens qui prendront la peine de me lire, et encore plus ceux qui m'aideront
Tchao!
A voir également:
Impossible de lire les données de la connexion de transport : net_io_connectionclosed.