Escrito originalmente por DMX512
Soy un novato y necesito ayuda para leer los valores de unos potenciometros (llamados tambien resistencias variable o faders) desde el pic 16F88.
Busco algun tipo de codigo de ejemplo.
Tambien quisiera saber si se puede cambiar un puerto que esta configurado como entrada, a salida en medio del codigo.
La razon en porque cargo unos datos desde el puerto paralelo del PC y tras leer el ultimo valor me gustaria enviarle datos usando el mismo bus.
Alguien ha probado algo asi? Si se puede, existe un retardo o es instantaneo?
Gracias a todos y enhorabuena por este foro.
ManMartin.
Vamos por partes.
1) Ese pic tiene conversor A/D asi que puedes perfectamente leer un valor de un potenciónmetro o cualquier señal mientras estes en el rango del PIC que usualmente es de 0 a 5V.
2) Códigos de ejemplo tienes a montones y dependen del lenguaje que uses para programar, te invito a que visites el almacen para el ensamblador o el link sobre basic o bien sobre lenguaje C.
3) Sí es posible hacer que un puerto se pase de entrada a salida en medio del código, de hecho todos los pics tienen sus puertos como entrada cuando se encienden y uno debe configurarlos como salida si así lo desea.
4) El puerto paralelo no es "un bus" es un "puerto" y lo que pretendes hacer es perfectamente realizable con un pic
5) El retardo o instantaneo gralmente está del lado del PC, porque la pc suele tener corriendo un sistema operativo haciendo miles de cosas por segundo y no suele atender a los puertos con la mayor prioridad posible. Ni aún teniendo un sistema operativo de tiempo real se logran tiempos exhorbitantes... es entonces que el PIC suele tener que esperar a la PC.
Un consejo, usa algún método de "handshaking" es decir de señalizacion entre PC y PIC para que el PIC envíe los datos solo cuando el PC esté listo. Y ve haciendo el handshaking por cada dato que envíes!! Esto es muy importante.
Pegale un vistazo a este link también de este foro donde tratan una necesidad similar.
http://miarroba.com/foros/ver.php?foroid=6510&temaid=4940120Saludos