Bonjour,
Je souhaite établir une liaison série entre un microcontrôleur et le PC. N'ayant plus de port USB sur PC, j'utilise un câble, USB->DB9. Je l'ai branché et ai installé le driver fourni avec. Très bien, le port COM3 est reconnu par le PC. J'ouvre un hyperterminal sur COM3, je relie la broche RX et TX pour tester la bonne fonctionnalité du port, et en effet quand je tape au clavier dans l'hyperterminal, les données me sont renvoyées. Donc jusque là tout va bien, niveau hardware tout est en place.
Maintenant je m'attaque au programme en C et j'utilise simplement le bout de code suivant sous Visual C++ pour initialiser le port :
HANDLE g_hCOM = NULL;
/* construction du nom du port, tentative d'ouverture */
g_hCOM = CreateFile("COM3", GENERIC_READ|GENERIC_WRITE, 0, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM, NULL);
if(g_hCOM == INVALID_HANDLE_VALUE)
{
printf("Erreur lors de l'ouverture du port COM\n");
}
Seulement la console me renvoie le message d'erreur et donc la fonction n'aboutit pas
Quelqu'un saurait-il de quoi il s'agit ?
Merci d'avance.
Il ne faut pas oublier de faire le cast TEXT. Apparemment le problème ne se posait pas avant puisque dans tous les exemples que j'ai pu trouver sur le net, ce cast n'était pas nécessaire. Ça doit peut-être venir des dernières versions de windows ou de Visual C++.
Avis aux prochains qui tomberont sur ce problème ^^