Je suis en train d'écrire une tâche vxworks impliquant l'envoi de données via le port série. L'ouverture du port série est réussie. Mais lorsque j'essaie de définir le débit en bauds du port en utilisant l'appel système ioctl(), il échoue. Je donne le code ci-dessous. Quelqu'un peut-il s'il vous plaît apporter un peu de lumière à ce sujet? La deuxième fonction échoue toujours ...La définition du débit en bauds du port série échoue sur vxworks
int f, status;
if (f = open("/tyCo/1", O_RDWR, 0) == ERROR)
{
printf("error opening serial port; exiting...");
return 1;
}
if (status = ioctl(f, FIOBAUDRATE, 2400) == ERROR)
{
printf("ioctl error; exiting...");
return 1;
}
Juste pour être clair. Voulez-vous dire que vous ouvrez le port, puis définissez le débit en bauds? Si cela est correct, essayez de régler le débit en bauds, puis ouvrez le port. – dbasnett
@dbasbett - ioctl() a besoin du descripteur de fichier renvoyé par l'appel open() - comment proposez-vous d'initialiser le débit en bauds? –
m - Consultez la documentation de l'appareil que vous utilisez pour connaître les vitesses de transmission valides. Vérifiez également les paramètres de configuration sur l'appareil avec soin. –