Comment faire pour utiliser les ports COM dans Visual C

COM, qui signifie Component Object Model, est un protocole de communication de l'ordinateur. Il est semblable à des protocoles de réseau en ce qu 'il est indépendant des systèmes d'exploitation. Bien que dans les années 1990 ports COM ont été largement utilisés pour accéder aux périphériques de port série physique, ils sont encore utilisés pour les périphériques série modernisées avec un port USB. Les ports série ne doivent pas être confondus avec les ports parallèles utilisés dans les premières imprimantes, qui utilisent LPT adressage au lieu de COM. Visual C de Microsoft prend en charge la programmation avec les ports COM via l'API Win32 Communication.

Instructions

écriture de données

1 Utilisez l'en-tête de référence de la bibliothèque stdafx.h dans votre programme. Vous pouvez le faire en tapant "#include <stdafx.h>" en haut de votre code de programme.

2 Déclarez variables initiales. Sur deux lignes de type "CString PortName = 'COM1';" et "CString DataToSend = 'YOURDATA';" pour déclarer des variables. Changer "COM1" au numéro de port que vous souhaitez accéder comme "COM2" ou "COM3". Change "YOURDATA" aux données que vous souhaitez envoyer sur le port. Le dernier type de ligne "DWORD BytesSent;" de déclarer une variable de support pour plus tard.

3 Utilisez la fonction de Visual C CreateFile pour créer un gestionnaire de fichier pour le port COM. Pour ce faire, tapez "MANIPULER myPort = CreateFile (PortName, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);" sur une nouvelle ligne.

4 Création d'une variable de données du bloc de communication ou DCB. Vous pouvez le faire en tapant "DCB DCB;" où vous déclarez vos variables. Tapez "GetCommState (myPort, & DCB);" pour remplir le DCB. Vous pouvez régler la vitesse de transmission en tapant "dcb.BaudRate = CBR

9600;" sur une nouvelle ligne. La vitesse de transmission peut aller tout le chemin jusqu'à "CBR 256000". Pour régler un autre type d'options "dcb.ByteSize = 8;" et "= dcb.Parity NOPARITY"; ainsi que "dcb.StopBits = ONESTOPBIT;" sur les nouvelles lignes. Tapez sur une nouvelle ligne "SetCommState (myPort, & DCB);" pour finaliser DCB et la configuration du port COM.

5 Tapez "WriteFile (myPort, DataToSend, 1, & BytesSent, NULL);" pour envoyer les données par l'intermédiaire du port COM. Pour fermer le type de connexion "CloseHandle (myPort);" sur une nouvelle ligne.

lecture des données

6 Tapez "MANIPULER myPort = CreateFile (PortName, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);" sur une nouvelle ligne. Ce gestionnaire de fichier est utilisé pour lire les données du port COM et est similaire au gestionnaire de fichiers d'écriture sauf "GENERIC_WRITE" est remplacé par "GENERIC_READ".

7 Créer et remplir la variable DCB DCB en utilisant la même méthode dans la section de données d'écriture.

8 Tapez "BYTE Byte;" et "DWORD BytesTransferred;" sur des lignes individuelles à des variables de configuration pour lire les données COM.

9 Tapez "ReadFile (myPort, & Byte, 1, & BytesTransferred, 0);" lire les données à partir du port de communication. La lecture de données seront stockées dans la variable "Byte". Taper "CloseHandle (myPort);" fermera le port.