VolaiL
Messages postés14Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention25 mai 2005
-
23 juil. 2003 à 12:25
VolaiL
Messages postés14Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention25 mai 2005
-
23 juil. 2003 à 15:42
Voilà, j'ai un programme qui tourne impec sou Win9x, et la, je viens de la passer sous win2k, et ce con me "saute" mon readfile :/ Disons qu'il fais kom s'il ne le voyait pas. Il n'attend pas de réponse du port série :/
Voici la portion de programme qui doit poser problème ( si vous en voulez plus, n'hésitez pas à demander :p )
do
{
ReadFile(hcom,&data,1,&nb,NULL); //on li les caractères recu
reponse[reception]=data; //et on les stocke dans une chaine de caractères
printf("%c",data);
reception++;
}while(data!=03); //juska ce kon ait recu la fin du msg (ETX)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 23 juil. 2003 à 14:25
et bien modifie ton code pour en etre certain, il ne faut pas rester dans le "comme s'il sautait".
Place un valeur de retour sur ReadFile et initialise la avant a 1000 par exemple et affiche la ensuite ainsi tu sauras.
GetLastError doit etre teste la ligne qui suit ReadFile.
BruNews, ciao...
VolaiL
Messages postés14Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention25 mai 2005 23 juil. 2003 à 14:43
Bon voila, j'ai suivi tes conseils. Voici le code utilisé au cas ou tu veuille vérifier :p
int status=1000;
do
{
status=ReadFile(hcom,&data,1,&nb,NULL); //on li les caractères recu
printf("%i : %i\n",status,GetLastError);
reponse[reception]=data; //et on les stocke dans une chaine de caractères
reception++;
}while(data!=03);
Les valeur de retour sont 1 pour le readfile, donc, tu avais bien raison, il ne saute pas la ligne ;) Et renvoi 1. Cela signifierait qu'il arrive a établir la connexion sur le port série, mais n'attend pas de lire une valeur dessus et passe a la ligne suivante. La valeur renvoyée par le GetLastError est quand à elle 2011657860 mais bon, ca veut rien dire a mes yeux :p J'ai pas la page de tout les codes d'erreurs non plus ^^
Voilà. En espérant que tu pourra résoudre le problème.
+
Vous n’avez pas trouvé la réponse que vous recherchez ?
VolaiL
Messages postés14Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention25 mai 2005 23 juil. 2003 à 14:51
Oups, j'ai tapé trop vite :p J'avis mi GetLastError au lieu de GetLastError() ;) Bon, g corrigé la, et ca me donne bien 0 en valeur de retour.
Désolé si je suis long a chaque fois à répondre, mais faut ke je descende un étage et que je traverse tout l'atelier pour efectuer le test, car je ne peux pas tester sur mon PC, et en bas, je ne peux rien installé car je n'ai pas les droits. Brefe, c t ma life, tu t'en fou mais bon ^^
VolaiL
Messages postés14Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention25 mai 2005 23 juil. 2003 à 15:42
J'vois pas trop quoi mettre en paramètre de ta fonction :/ Mais bon, g lancé l'envoi du msg entre le moment ou jelance mon application et le moment ou elle va planter pkelle tourne dans le vide, et j'arrive à recevoir le message, mais ca plante juste apres.
:/
( le getlasterror me renvoyant 0 je ne m'en soucie plus trop pour etre honnete )