8
votes

Simuler le port série

J'écris un programme C sous Linux, qui lira / écrire sur 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 actuellement.

Y a-t-il un moyen de simuler un port série? Lire / écrire dans un fichier suffirait-il? Je peux avoir un processus écrire dans le fichier alors qu'un autre processus lit ces données et écrit d'autres données dans le fichier. Ou existe-t-il d'autres outils pouvant être utilisés pour simuler un port?

merci


3 commentaires

Dépend du niveau que vous souhaitez simuler le port. N'est-ce que quelques données d'aller d'avant en arrière ou de vous soucier des internes du port, du statut, etc.?


Simuler uniquement les données suffiraient pour le moment.


Si votre PC a un modem, vous avez un port série. Vous pouvez également acheter des adaptateurs série USB. Les ports série peuvent être délicats en fonction de l'application.


3 Réponses :


0
votes

Un périphérique de caractère, même quelque chose d'aussi simple que celui normal stdin et stdout devrait fonctionner si vous ne vous souciez pas des attributs spécifiques aux périphériques de port.


0 commentaires

5
votes

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

Le PTY (7) La page Man contient plus d'informations.


1 commentaires

Ce faisant, vous devez également avoir un autre programme acte comme appareil à l'autre extrémité du port série.



4
votes

En dépit d'être un ancien sujet et que ma réponse n'est pas exactement quelque chose que l'OP cherchait, j'ai décidé de partager mon expérience, car quelqu'un d'autre pourrait en venir, comme je l'ai fait. Au lieu de simulation directe, j'ai utilisé le logiciel appelé Serial sur connecteur Ethernet pour accéder au périphérique spécifique dont je disposais de tester l'application. Travaillé bien pour moi.


0 commentaires