Bue' solucionando un tema relacionado en C me acorde de tu pregunta y me pegue una vuelta por
www.cpan.org , si bien no aclaras q puertos, si es ISA, PCI, Paralelo, Serie, USB, te comento, para los dos primero no encontre nada (checalo porque hice una busqueda rápida), para los otros dos muy tradicionales en los 90' para lo que queres, encontre dos modulos un
serialy otro
paralelo que te permiten básicamente un relativo buen manejo, aunque tampoco se que sistema operativo utilizas, porque generalmente se utilizaba QNX para eso y si bien el paraleo dice que es para todos... me parece raro, de cualquier modo si es que no lo solucionaste fijate si te sirve. Para el USB solo encontre un modulo q lista los drivers disponibles para comunicarte y nada más.
No se como se trabajarán con automatas en la actualidad, si es a travez de USB no te queda más q lo que te dije en el otro, claro que para mi sorpresa un nuevo compilador de C ya traia librerias para USB.... Lo que son las cosas.
Seria bueno que publiques si llegaste a una solución y que puerto utilizaste, vaa ... solo por curiosidad.
Saludos