Lecteur port série windows.h (readFile()) + SDL [C] - C - Programmation
Marsh Posté le 20-11-2011 à 20:38:41
Bonsoir,
L'erreur est pourtant claire. Le compilateur te dit qu'il ne peut pas convertir int * en DWORD *. Il faut donc que tu changes le prototype de ta fonction ReadCOM en utilisant un DWORD * plutot qu'un int * pour le 3eme paramètre.
Marsh Posté le 23-11-2011 à 15:22:24
Salut,
j'ai trouvé beaucoup mieux que ça. Mon code est en C++. Je le passe en C, et je n'ai plus besoin de convertir
Marsh Posté le 21-04-2012 à 14:35:31
Bonjour,
Je tente de réaliser un programme en C qui envoi et recoit des données via un port série. Cependant je ne trouve rien qui m'aide vraiment sur internet.
fab@c++ pourrait tu poster ton code afin que je puisse voir un exemple qui fonctionne ?
Merci.
Marsh Posté le 21-04-2012 à 15:22:40
Salut,
Mon code récupère une chaîne qu'il stocke dans un fichier texte. Voici le genre de chaîne que je récupère via le port série :
Code :
|
Et voici mon code c++ . Attention, il possède une partie SDL. Si t'as des questions, n'hésite pas à poster
Code :
|
Marsh Posté le 21-04-2012 à 15:41:44
Merci pour ton code, je suis débutante en C et n'y connais pas grand chose, c'est donc un peu compliquer pour moi...
Je suis en stage et je cherche à communiquer via les ports séries de windows avec un calibrateur et un multimètre, je voudrais donc pouvoir à la fois lire et écrire sur les ports. Je dois envoyer des commandes du type "MEAS?" pour que l'appareil me revoie la valeur mesurée.
En attendant de trouver une solution pour utiliser les port séries directement en c j'utilise l'hyperterminal que j'ouvre avec mon programme et ou j'écris virtuellement des commandes, mais cette solution me semble un peu lourde puisqu'elle nécessite l'ouverture de plusieurs fenêtres.
Pourrait tu m'expliquer à quoi sert la SDL.
Si je comprend bien il me suffit de retirer tout ce qui concerne la SDL pour pouvoir utiliser les ports séries ?
Merci d'avance pour votre aide.
Marsh Posté le 21-04-2012 à 19:04:01
Mon programme avait pour but d'afficher un écran à partir de données récupérées par des capteurs d'une carte arduino. La SDL sert juste à l'affichage. On peut donc enlever toutes les partie relatives à l'affichage en SDL pour pouvoir exécuter ce programme en mode console.
Pour ma part, j'ai beaucoup cherché pour la lecture sur le port, mais je ne sais pas trop comment écrire. je pense, ce code utilisant la lib windows.h, qu'il suffit de s'intéresser à cette lib pour s'avoir comment écrire sur un port série.
Voilà
Marsh Posté le 21-04-2012 à 20:19:03
Merci de ta réponse je vais essayer et ca, et te tiens au courant du résultat ;-)
Marsh Posté le 22-04-2012 à 16:48:42
J'ai fait des tests du coup mais je rencontre un problème.
J'ai ajouter la partie écriture que j'ai trouvé sur le net faite sur le même modèle que ta partie lecture, mais quand j'envoi des données au calibrateur et il ne semble pas les recevoir, de même pour la lecture, il ne renvoi rien. J'ai vérifier les paramètres baudrate, databits, stopbit qui sont bon mais je ne sais pas a quoi correspondent les autres.
Quel compilateur utilisais tu ? Peut tu me dire à quoi sert le "static" tout a la fin pour la lecture du port ?
Marsh Posté le 20-11-2011 à 19:09:48
Bonjour,
Pour un de mes projets, je réalise un script utilisant la SDL, et lisant des données issues d'un de mes ports série (envoyées par une carte arduino). Or, il semble qu'il est ait un conflit entre la SDL et les fonctions telles que readFile().
Voici mon code sans mon code du main afin qu'il soit moins lourd :
Lorsque que je n'utilise pas la SDL, aucun problème, mais quand je l'utilise, il m'empêche d'utiliser cette fonction
Voici mon erreur :