Autor Tema: Emulando Teclado de PC  (Leído 2574 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado hexmotion

  • PIC10
  • *
  • Mensajes: 22
Emulando Teclado de PC
« en: 06 de Enero de 2005, 14:29:00 »
HolaGiño
el problema es que...:
Estas lineas de codigo en algun tiempo funcionaba bien con una maquina pentium I a 300Mhz y DIN de 5 pines normal, es decir del grande...
Pero No me quiere trabajar con una con entrada para teclado tipo PS/2 Minidin...
Alguien Podria ayudarme por fa?

" Emulacion de teclado de PC
DEFINE OSC 16   "para "alentar" al shiftout en realidad trabaja a 4
char        var Word  "character
datpin      var porta.0   "Keyboard Data   "con res 10k pull up
clkpin      var porta.1   "Keyboard Clock   "con res 10k pull up
delayer con 100            "retardo entre caracteres
 trisa =0
 high datpin
 high clkpin
 "estos son los caracteres a transmitir mas info en :http://www.beyondlogic.org/keyboard/keybrd.htm
 h var word : h = %11001100110
 o var word : o = %11010001000
 l var word : l = %11010010110
 a var word : a = %10000111000
start:
"Mandando "hola " Eternamente
   char=h "/h :   gosub sendchar :    pause delayer
   char=o "/o :   gosub sendchar :    pause delayer
   char=l "/l :                   gosub sendchar :   pause delayer
   char=a "/a :     gosub sendchar :   pause delayer
    goto start
sendchar:
  shiftout datpin,clkpin,0,[char11]
       pause 10
return
 end
 
El resultado deberia ser un HOLA continuo en el bloc de notas (en la maquina vieja asi lo hacia)
Ahora el resultado es un continuo pitido del altavoz del PC y solo sale una "h"
sera la velocidad; ya intente redefiniendo el OSC pero nada, aveces no me aparece nada solo el sonido, de antemano gracias; existe otra forma de emular el teclado...?

Desconectado Lager.

  • Moderadores
  • PIC18
  • *****
  • Mensajes: 477
RE: Emulando Teclado de PC
« Respuesta #1 en: 06 de Enero de 2005, 15:01:00 »
Que onda hexmotion,
podrias probar reduciendo el reloj con :
DEFINE SHIFT_PAUSEUS 100

Salu2
Proyectos similares:
Mouse ps2:
http://panda.cs.ndsu.nodak.edu/%7Eachapwes/PICmicro/code/code.html
PS2 Teclado:
http://users.picbasic.org/Howto/PC_keybrd/pc_keyboard.htm

Desconectado hexmotion

  • PIC10
  • *
  • Mensajes: 22
RE: Emulando Teclado de PC
« Respuesta #2 en: 06 de Enero de 2005, 18:22:00 »
he probado con lo que dices con similares resultados
de hecho he notado que creo k la version k tengo (2.44) no entiende
este DEFINE   ya que en el file New.txt el DEFINE
mas nuevo es el OSC24, kotra cosa puedo hacer Lager?
a paritr de k version funciona este dEFINE?

Desconectado Lager.

  • Moderadores
  • PIC18
  • *****
  • Mensajes: 477
RE: Emulando Teclado de PC
« Respuesta #3 en: 06 de Enero de 2005, 19:47:00 »
Que onda pana,
probaste a mayor retardo? DEFINE SHIFT_PAUSEUS 500
La version 2.44 si soporta este define pana, otra cosa(seria muy jodon de parte del compilador  pero esto ya me a pasado) Quita ese cero del mode y ponlo como debe  de ir con LSBFIRST y agrega en el principio despues del osc la libreria MODEDEFS.BAS , no vaya siendo que a fuerza tiene que ser variable el MODE.. (no seria nada raro...)
Solo revizalo a distintas velocidades y agregando lo que te dije.. si sigues con el problema lo solucionamos a la forma FOROTODOPIC, pero de que va a funcionar va a funcionar. Otra cosa, dejalo con los tiempos normales, si estas usando un 16f84 a 4 mhz dejalo asi definido como 4 mhz, una cosa mas, el codigo que posteaste asi lo usabas? y para que tipo de pic??...

Un abrazo pana


Desconectado hexmotion

  • PIC10
  • *
  • Mensajes: 22
RE: Emulando Teclado de PC
« Respuesta #4 en: 10 de Enero de 2005, 18:01:00 »
he utilizado el retarod hasta 60000 y parece como si no hubiera tal porque
estoy debugeando con hyper terminal poniendo serouts dentro y fuera de la rutina sendchar, pero al parecer lo que esta mal es que no son compatibles los teclados viejos (los de din 5 grande) y los modernos con conector tipo ps2,, de todas maneras seguire probando... gracias por los links Giño