Autor Tema: Pin de entrada y salida para bus de teclado ps2  (Leído 2433 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado nutriax

  • PIC10
  • *
  • Mensajes: 42
Pin de entrada y salida para bus de teclado ps2
« en: 10 de Abril de 2011, 15:18:58 »
Hola gente!, le comento que quiero hacer es ecribir por el bus del teclados ps2 con un 16f628 (bidireccional), antes que digan nada ya se que hay muchos dando vueltas, pero  quiero hacerlo yo mismo porque 1ero quiero enteder bien como funciona el protocolo y 2do le voy a agregar muchas cosas mas y para miles de aplicaciones que se me cruzan por la cabeza...
Bueno, por el tema de protocolo creo que no hay problemas porque a vista de vuelo de pajaro vi que redpic puso los links, para la especificacion del protocolo, eso es cuestion de leerlo y entenderlo (que despues lo hare!), pero mi problema es tanto en esta como en muchas aplicaciones mas (que usan buses) saber como hacer para programar un pin que sea de entrada y salida al mismo tiempo, ya se que se cambia por software, pero quiero saber cual es la mejor forma de hacerlo:
1- Tener constantemente el pin (en este caso para el clk que envia el pic) como pin de salida y leer con otro pin de entrada (poniendolo en corto con el clk antes comentado ) para detectar cuando la pc quiere hablarme (que me tira el clk abajo), entonces yo con este segundo pin detecto esa caida del clk y sabiendo que yo no la genere conmuto el pin clk (del pic) a pin de entrada hasta que me termine de hablar la pc?
2- Hay alguna configuracion que se pueda hacer en ccs para que el pin sea de entrada y salida para estos casos?
3- Ir conmutando constantemente (mientras no mando datos a la pc) el pin de clk entre entrada y salida para leer si me lo tiro abajo el clk la pc?
4- Alguna otra forma?
espero que me pueda dar a entender y que me puedan ayudar!
desde antemano muchas gracias.

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: Pin de entrada y salida para bus de teclado ps2
« Respuesta #1 en: 10 de Abril de 2011, 15:26:52 »
lo que no comprendo es si ha leido muchas informacion y ahora quieres saber como un pin puede cambiar su estado, eso deberia saberlo si sabe algun lenguaje de programacion, aparte que tampoco nos no dice que lenguaje programa, normalmente el estado de un pin se cambia con Toggle en tu lenguaje deberia buscarlo y leer .
 :P
Saludos

Desconectado nutriax

  • PIC10
  • *
  • Mensajes: 42
Re: Pin de entrada y salida para bus de teclado ps2
« Respuesta #2 en: 10 de Abril de 2011, 17:09:33 »
Hola que tal, gracias por responder, pero como coloque en mi pregunta ya se que se cambia desde el lenguaje, es decir que se puede definir un pin tanto como entrado o como salida seteando en el bit correspondiente de dicho pin en el registro para tal proposito, y que en ccs se hace a travez de SET_TRIS_X(valor), pero mi pregunta iba mas alla de eso, simplemente es para saber que comviene hacer (algoritmicamente hablando) entre las alternativas que planteo o que me expliquen como lo hacen ustedes.
Estas alternativas son:
1- usando un pin adicional para saber cuando conmuto el pin de clk como entrada conjuntamente con el de dao (para leer lo que me dice la pec).
2- ir conmutando todo el tiempo, es decir cuando escribo logicamente usar estos pines como salida y cuando termino de escribir usarlos como entradas, hasta que tenga que escribir nuevamente y este desocupado el bus, y ahi conmuto para poder escribir y asi sucesivamente.
3- se que hay otra alternativa que es como dejar un pin como un triestado (esto si lo ignoro desde el lenguaje c para pic y assembler).
4- otra alternativa que usen uds.
El lenguaje que uso prefiero c (ccs) o en su defecto assembler.
Disculpa si no me supe expresar!
y nuevamente gracias por tu tiempo.


 

anything