Foros del Web » Programación para mayores de 30 ;) » Programación General »

trabajar con los puertos en C

Estas en el tema de trabajar con los puertos en C en el foro de Programación General en Foros del Web. Hola a todos. Bueno mi pregunta es como puedo trabajar con los puertos en C, estoy aprendiendo este lenguaje y no tengo ni idea de ...
  #1 (permalink)  
Antiguo 13/07/2003, 03:03
pk3
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 20 años, 9 meses
Puntos: 0
trabajar con los puertos en C

Hola a todos.
Bueno mi pregunta es como puedo trabajar con los puertos en C, estoy aprendiendo este lenguaje y no tengo ni idea de como hacerlo, si alguien podria darme una pequeña introduccion lo agradeceria.
Gracias
  #2 (permalink)  
Antiguo 14/07/2003, 19:06
 
Fecha de Ingreso: julio-2003
Mensajes: 165
Antigüedad: 20 años, 9 meses
Puntos: 1
Bueno, suena muy interesante, y de entrada te digo que me alegra ver que estés aprendiendo C.

Ahora bien, el tema del que hablas es en cierta medida, no complicado, pero sí un poco enredado, en gran parte porque este tipo de cosas dependen en gran medida del sistema operativo sobre el que trabajas, y por supuesto la arquitectura de tu máquina.

Así que yo te diría que antes de empezar a enfrentar el problema, vamos atacándolo por partes y un paso a la vez.

¿Sobre qué sistema operativo estás trabajando?
¿Qué compilador de C usas?
¿Qué tipo de cosas quieres hacer con los puertos?, o más específicamente, ¿qué puerto quieres usar y qué información vas a transmitir/recibir?

Contando con esta información puede ser más fácil ofrecerte una ayuda apropiada. Que estés bien.
  #3 (permalink)  
Antiguo 15/07/2003, 09:29
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
checa http://www.forosdelweb.com/s/msg141093.html
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 15/07/2003, 13:52
pk3
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 20 años, 9 meses
Puntos: 0
Primero gracias a los dos por responder.
Leonardop a tus preguntas te respondo:
sistema operativo linux (debian, pero novato)
compilador gcc
respecto a los puertos que quiero usar no lo se ya que lo que buscaba era una referencia sobre el tema algun manual que me iniciara. Mas o menos para que me entiendas que funciones se necesitan parametros... ya me entiendes codigo para poder leer y aprender lo mas posible.
Mithrandir voy a echar un ojo a la pagina haber que saco en claro.
Nuevamente gracias a los dos.
Pd. Leonard si sabes alguna pagina sobre el tema podrias postearla?.
  #5 (permalink)  
Antiguo 15/07/2003, 15:56
 
Fecha de Ingreso: julio-2003
Mensajes: 165
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola otra vez.

Me parece una favorable casualidad el hecho de que estés usando Debian. De este modo me es más fácil ofrecerte alguna orientación ya que yo mismo dispongo de un equipo con un sistema similar.

A propósito, haciendo un paréntesis, por favor nota que el sistema operativo como tal se llama GNU, no Linux. Sucede que Linux es uno de los componentes más importantes que componen un sistema operativo, y por una serie de acontecimientos que han ocurrido para bien o para mal, se ha generado la tendencia inercial de llamar al sistema completo Linux, y esto es un error. En el propio caso de Debian, si visitas la página web del proyecto, verás que en todas partes se refieren al sistema base como GNU/Linux. No es mi intención parecer un evangelizador, y lamento si esta anotación carece de importancia para el lector casual de este mensaje. Simplemente me parece que conservar la rigurosidad en el lenguaje, especialmente en temas relacionados con la informática, es un objetivo que considero que vale la pena perseguir. Aparte, hay una muy buena razón para referirse a este sistema por su nombre correcto.

Dejando la previa nota a un lado, pasemos al tema que nos interesa... el manejo de puertos. Hay varias "estrategias" para acceder a los puertos seriales o paralelos de la máquina. Incidentalmente, te cuento que mi kernel fue compilado sin soporte para puertos seriales ni paralelos, de modo que por el momento no puedo hacer pruebas, pero si llegara a ser necesario, le dedico un rato a compilarlo de nuevo y hacer una que otra prueba... Jugar con los puertos es interesante, y si necesitas más ayuda, estaría dispuesto a experimentar con estas cosas.

Te preguntaba además qué tipo de cosas pensabas hacer con los puertos ya que si tienes en mente la manipulación de algún dispositivo en particular, es posible que te resulte más cómodo indagar sobre la programación de tales dispositivos concretamente. Existe una serie da librerías que facilitan el acceso directo a ciertos dispositivos comunes que operan a través de los puertos de la máquina; puedes revisar tales librerías si por ejemplo, deseas manipular el mouse, o comunicarte con las impresoras, o recibir datos del joystick, etc.

Inicialmente, te puedo decir que uno de los mecanismos más comunes para comunicarse con los puertos bajo GNU/Linux es mediante llamados a la función estándar open(), usando los nodos de dispositivos ubicados en el directorio /dev (como /dev/ttyS*).

Te puedo recomendar los siguientes documentos que hablan sobre tales mecanismos de forma básica. Se encuentran en Inglés, lo cual espero que no sea ningún problema:

http://www.tldp.org/HOWTO/mini/IO-Port-Programming.html
http://www.tldp.org/LDP/lpg/ (revisa el capítulo 9)
http://www.easysw.com/~mike/serial/ (habla específicamente del manejo de puertos seriales)

Allí encontrarás código de ejemplo, y seguramente se te ocurrirán ideas interesantes para poner en práctica lo que aprendas en tales documentos. Espero que te resulte de ayuda. Un saludo.
  #6 (permalink)  
Antiguo 16/07/2003, 08:14
pk3
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola de nuevo Leonardop gracias por los documentos espero poder aprender algo!!!!.

Respecto a debian y linux tienes toda la razon.

Despues de leer el documento entiendo por que lo decias, hasta ahora no le daba importancia y no consideraba la diferencia entre linux y GNU asi como la filosofia de cada uno.

Gracias de nuevo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:55.