Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Conflicting types et CreateFile()

5 réponses
Avatar
Troll
Bonjour à toutes et à tous,

J'essaie d'établir une communication par port série en C sous Windows XP.

Cependant, alors que je n'en suis qu'à l'ouverture du fichier du port,
j'ai déjà une erreur :

"conflicting types for port1"

J'utilise CodeBlocks pour Windows et le compilateur Gcc... Une idée de
ce qui pourrait provoquer cela ?

Voici le code de mon programme:

Code :
______________________________________
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <windows.h>

#define OPEN_EXISTING 3
#define GENERIC_READ 0x80000000
#define GENERIC_WRITE 0x40000000
#define FILE_FLAG_OVERLAPPED 0x40000000

/*Déclaration des variable*/
HANDLE port1; /*(ou un autre nom)*/


port1 = CreateFile("COM1", GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
_______________________________________

J'ai bien sûr déjà essayé de changer le nom de la variable "port1" (en
"abcdef" par exemple ou "myhandler" )...

Il semblerait que CreateFile renvoit un entier, si je met port1 en int,
ça ne met plus cette erreur, mais évidemment je ne peux pas utiliser
port1 dans les fonctions liées WriteFile() etc... vu qu'il a pas le bon
type.


Merci d'avance à toutes celles et tous ceux qui participeront.


Bonne soirée.


Troll

5 réponses

Avatar
Lucas
"Troll" wrote in message
news:gp6bgv$569$
Bonjour à toutes et à tous,

J'essaie d'établir une communication par port série en C sous Windows XP.

Cependant, alors que je n'en suis qu'à l'ouverture du fichier du port,
j'ai déjà une erreur :

"conflicting types for port1"

J'utilise CodeBlocks pour Windows et le compilateur Gcc... Une idée de ce
qui pourrait provoquer cela ?

Voici le code de mon programme:



Euh..,.est-ce vraiment le code ?
Car il n'y a ni main(), ni Winmain() (!)
Et où appelles-tu GetLastError() pour avoir l'erreur ?
Avatar
Troll
Lucas a écrit :
"Troll" wrote in message
news:gp6bgv$569$
Bonjour à toutes et à tous,

J'essaie d'établir une communication par port série en C sous Windows XP.

Cependant, alors que je n'en suis qu'à l'ouverture du fichier du port,
j'ai déjà une erreur :

"conflicting types for port1"

J'utilise CodeBlocks pour Windows et le compilateur Gcc... Une idée de ce
qui pourrait provoquer cela ?

Voici le code de mon programme:



Euh..,.est-ce vraiment le code ?
Car il n'y a ni main(), ni Winmain() (!)
Et où appelles-tu GetLastError() pour avoir l'erreur ?





Ola oui... je débute en C, mais alors celle-là je l'avais encore jamais
faite.

Bah problème de conflit de types résolu... j'ai oublié le main...


Merci bien pour cette rapidité et cette efficacité Lucas.

Bonne soirée.
Avatar
Troll
Ah en même temps, le nom de fichier à mettre pour accéder au port série
1 ou 2... c'est "COM1" / "COM2" ou "\.COM1" ou "\.1" ?


Merci d'avance. :)
Avatar
Christian ASTOR
Troll wrote:
Ah en même temps, le nom de fichier à mettre pour accéder au port série
1 ou 2... c'est "COM1" / "COM2" ou "\.COM1" ou "\.1" ?



"COM1"
Voir la KB115831
Avatar
Troll
Christian ASTOR a écrit :
Troll wrote:
Ah en même temps, le nom de fichier à mettre pour accéder au port
série 1 ou 2... c'est "COM1" / "COM2" ou "\.COM1" ou "\.1" ?



"COM1"
Voir la KB115831


Bonjour Christian,

Ok "COM1" / "COM2" alors.

Merci bien pour ton aide ;)

Bonne journée.