2010-08-11 37 views
6

Estoy escribiendo un programa C en Linux que leerá/escribirá a/desde un puerto serie. Conozco los datos que deben leerse y escribirse en el puerto, pero no tengo un puerto serie para probarlo actualmente.Simular el puerto serie

¿Hay alguna forma de simular un puerto serie? ¿Sería suficiente leer/escribir en un archivo? Puedo hacer que un proceso escriba en el archivo mientras otro proceso lee esos datos y vuelve a escribir otros datos en el archivo. ¿O hay otras herramientas que se pueden usar para simular un puerto?

Gracias

+0

Depende del nivel que desee simular el puerto. ¿Son solo algunos datos que van y vienen, o tiene que preocuparse por las funciones internas del puerto, el estado, etc.? – Thorsten79

+0

Simular solo los datos sería suficiente por ahora. – Trevor

+0

SI su PC tiene un módem, tiene un puerto serie. También puede comprar adaptadores USB a serie. Los puertos serie pueden ser difíciles dependiendo de la aplicación. – dbasnett

Respuesta

4

Los puertos serie en Linux son dispositivos terminales. Una simulación cercana es crear un pseudo-terminal par; el programa que normalmente habla con el puerto serie se le indica que abra el lado esclavo del pseudo-terminal, y el simulador escribe y lee desde el lado maestro.

La página de manual de pty(7) tiene más información.

+0

Al hacer esto también llega a tener otro programa que actúa como el dispositivo en el otro extremo del puerto serie. – nategoose

0

un dispositivo de caracteres, incluso algo tan simple como normales stdin y stdout debería funcionar si no se preocupan por los atributos específicos a los dispositivos de puerto.

4

A pesar de ser un tema antiguo, y mi respuesta no es exactamente algo que el OP estaba buscando, decidí compartir mi experiencia, ya que alguien más podría encontrarla como yo. En lugar de una simulación sencilla, utilicé el software llamado Serial to Ethernet Connector para obtener acceso al dispositivo específico con el que necesitaba probar la aplicación. Funcionó muy bien para mí