2013-01-23 2 views
1

J'ai une machine (instrument) qui peut lire des nombres hexadécimaux séparément de 8 broches dans le port série ou l'imprimante.Comment puis-je envoyer des données hexadécimales via un port série dans un instrument personnalisé en utilisant C?

Je souhaite envoyer des données hexadécimales d'un programme C exécuté sur un ordinateur vers cet ordinateur. L'ordinateur et la machine sont connectés via le port de l'imprimante.

Veuillez me faire savoir comment puis-je envoyer mes données de chaque broche séparément.

Merci à l'avance.

+0

Que voulez-vous dire "de chaque broche séparément"? –

+0

Quel système d'exploitation: Windows? Linux? –

+0

Etes-vous sûr de vouloir dire le port série ou le port parallèle? Si vous voulez dire port d'imprimante, il est généralement parallèle ... J'ai donné une réponse pour l'utilisation du port parallèle sur Windows. Clarifiez si vous avez besoin de quelque chose de différent. –

Répondre

0

D'abord, quelques précisions:

communication série est un protocole qui utilise tous les (plus) des broches. Certaines broches sont utilisées pour synchroniser les deux puces de communication. Mais les données réelles sont envoyées à partir de ONE DATA PIN, un BIT à la fois. D'autre part, la communication parallèle est un protocole qui utilise 8 DATA PINS pour communiquer simultanément un BYTE à la fois. Les ports d'imprimante sont généralement des ports parallèles.

Dépend OS:

Comment envoyer des données à partir d'un programme via l'un de ces ports dépend de votre système d'exploitation.

C'est plus facile sous Linux que sous Windows.

Pour Windows, c'est un peu plus compliqué, car Windows impose des restrictions sur l'accès au port en mode utilisateur (c'est-à-dire par les programmes utilisateur).

Pour Parallel Port Windows:

Cependant, pour Windows, je chasserai avec succès LED au large du port parallèle using the io.dll provided here on Geek Hideout. Le package io.dll contient un fichier .dll et un fichier d'en-tête .h documentant les fonctions que votre programme C peut utiliser.

port série sur Linux:

Voir la code from this answer et ce Serial HOWTO (for Linux)

Questions connexes