Envoie d'une valeur en hexadecimal sur le port COM1

Résolu
ekinox17 Messages postés 66 Date d'inscription jeudi 6 octobre 2005 Statut Membre Dernière intervention 18 janvier 2006 - 20 oct. 2005 à 14:41
ekinox17 Messages postés 66 Date d'inscription jeudi 6 octobre 2005 Statut Membre Dernière intervention 18 janvier 2006 - 21 oct. 2005 à 09:27
Voilà tout est dit dans le titre je doit donner des valeur en hexa a
une machine en rs232 mais en lui envoyant des valeur en hexa .

The big problem is : quant je rempli une variable avec ma valeur en hexa :

0xAA0082030000000000000000000000000000000000000000002F

ben il me dit : "constant too big" bon ben j'ai essayer envoyer de
l'ascii mais bon ça marche pas: moi je veut (je devrai plutôt dire : je
DOIS) envoyer mes instructions en hexa : alors help plz.

5 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
20 oct. 2005 à 16:12
Faut stocker ça dant un tableau d'octet et l'envoyer :

unsigned char array[] =
{
0xAA,0x00,0x82,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x2F
};

ou

unsigned char array[] =
{
0x2F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x03,0x82,0x00,0xAA
};

selon l'ordre d'envoi.

ensuite :
DWORD dwBytesWritten;
WriteFile(hComm, array, sizeof(array), &dwBytesWritten, NULL);

ou autre fonction d'envoi.

2 exemples de rs232 dans mes sources.
liens données dand un autre réponse du forum 3 ou 4 questions avant (ou après)
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
20 oct. 2005 à 15:43
RS232 = ONLY ASCII

Shell
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
20 oct. 2005 à 16:16
DeAtHCrAsH : RS232 = ONLY ASCII

sur du rs232 on envoi des octets sur 8 bits et donc de l'asccii mais pas seulement les caractères affichables.
Il suffit de configurer correctement le port (en 8 bits mais surtout il faut conserver les caractères nul, champ fNull de la structure DCB windows à FALSE).
0
ekinox17 Messages postés 66 Date d'inscription jeudi 6 octobre 2005 Statut Membre Dernière intervention 18 janvier 2006
21 oct. 2005 à 09:09
Merci merci merci beacoup ymca2003

je vais tester ça de suite
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ekinox17 Messages postés 66 Date d'inscription jeudi 6 octobre 2005 Statut Membre Dernière intervention 18 janvier 2006
21 oct. 2005 à 09:27
TROP genial merci 1000 fois ymca2003 : le bon tableau c'est le deuxieme :

unsigned char array[] =

{

0x2F,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x03,0x82,0x00,0xAA

};

voila trop merci a toi : grace a toi j'ai eviter (... enfin je pense ...) de programmer en VB6 et hop c reparti pour du vc++

YOUPI

Bonne journee a tous.

et merci encore
0
Rejoignez-nous