2010-08-11 7 views
6

J'écris un programme C sous Linux qui va lire/écrire vers/depuis un port série. Je connais les données qui doivent être lues et écrites sur le port, mais je n'ai pas de port série pour le tester.Simuler le port série

Existe-t-il un moyen de simuler un port série? Est-ce que lire/écrire dans un fichier serait suffisant? Je peux avoir un processus écrire dans le fichier pendant qu'un autre processus lit ces données et écrit d'autres données dans le fichier. Ou y a-t-il d'autres outils qui peuvent être utilisés pour simuler un port?

Merci

+0

Dépend du niveau que vous voulez simuler le port. Est-ce que ce sont juste des données qui vont et viennent, ou est-ce que vous devez vous préoccuper des internes du port, du statut, etc.? – Thorsten79

+0

Simuler uniquement les données serait suffisant pour le moment. – Trevor

+0

SI votre PC a un modem, vous avez un port série. Vous pouvez également acheter des adaptateurs USB vers série. Les ports série peuvent être difficiles en fonction de l'application. – dbasnett

Répondre

4

Les ports série sous Linux sont des périphériques terminaux. Une simulation étroite consiste à créer une paire pseudo-terminale ; le programme qui parle normalement au port série est dit à la place d'ouvrir le côté esclave du pseudo-terminal, et le simulateur écrit et lit depuis le côté maître.

La page de manuel pty(7) contient plus d'informations.

+0

Cela vous permet également d'avoir un autre programme agissant comme périphérique à l'autre extrémité du port série. – nategoose

0

Un dispositif de caractère, même quelque chose d'aussi simple que la normale stdin et stdout devrait fonctionner si vous ne se soucient pas des attributs spécifiques aux périphériques du port.

4

En dépit d'être un vieux sujet, et ma réponse n'est pas exactement quelque chose que le PO recherchait, j'ai décidé de partager mon expérience, comme quelqu'un d'autre pourrait le rencontrer comme je l'ai fait. Au lieu d'une simple simulation, j'ai utilisé le logiciel Serial to Ethernet Connector pour accéder à l'appareil spécifique dont j'avais besoin pour tester l'application. Travaillé bien pour moi.