TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: distelg en 18 de Enero de 2006, 09:04:00
-
Estoy programando un PIC 16F84A con CCS y MPLAB IDE (no recuerdo las versiones) y cuando ejecuto un input_a (para leer el valor que tiene el port a, 3 por ejemplo 00000011 en binario) las salidas del port a que estaban en 1 se ponen en 0. El port a tiene configurado todos los pines como salida. A que se debe ? No tengo el codigo en este momento pero lo podira poner mas tarde ara que lo vean. Gracias.
-
Hombre, si tienes configurado el porta como salidas, tendrás que usar la funcion output ¿no te parece?
La input es para leer entradas.
Un saludo
-
Creo que no nos entendimos. El port A esta configurado como salida. Cuando yo quiero encender/apagar RA0, por ejemplo, uso output_a; pero si lo que quiero es ver el valor de RA0, uso input_a. El problema es que si antes de leer el valor presente en el port A con input_a, RA0 era 1, despues de la lectura RA0 pasa a valer 0. La duda es, por que RA0, en este caso, cambia de valor despues de ejecutar input_a ? Gracias.
-
mmm amigo queo que la instruccion que tu necesitas no es la que usas.... bit_test creo que seria la mas adecuada, en todo caso busca en la ayuda de ccs que te aseguro tendras un explicacion de como aplicarla
-==XooTRAooX==-
-
Creo que lo mejor es que pongas el programa.
La verdad, no le encuentro mucho sentido a que el PIC quiera saber lo que vale una salida después de habérsela enviado.
-
Pues creo que al utilizar esa funcion lo que hace el compilador es configurar primero el puerto como entrada y luego leer su valor.
Utiliza la instruccion que ha puesto xootraoox.
-
CCS 3.242 trae una funcion relacionada.
A new I/O function has been added: value = INPUT_STATE(pin_xx);
This functions reads the I/O pin state without changing the direction
of the pin as INPUT() does.
Chavela