Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: jezus en 04 de Septiembre de 2009, 00:50:05
Título: Problema con el puerto_a del pic 18f4520
Publicado por: jezus en 04 de Septiembre de 2009, 00:50:05
Hola, estoy haciendo un proyecto con el microcontrolador PIC18F4520 y estoy desesperado!!configuro el puerto A como salida y nada mas empezar la simulacion (proteus), se activan los pines A0 y A1....no tengo control sobre ellos y no se por qué!! :x Son las entradas de los comparadores, no se si eso tiene algo que ver. La direccion de este puerto supongo que es la 0x05,no? (#byte puerto_a=0x05) Bueno, agradeceria cualquier sugerencia..gracias!
Título: Re: Problema con el puerto_a del pic 18f4520
Publicado por: Suky en 04 de Septiembre de 2009, 01:00:14
Si tiene comparadores, asegúrate de deshabilitarlos, y si tiene conversor analógico/digital asegúrate que todos los pines estén con i/o digitales.
Saludos!
Título: Re: Problema con el puerto_a del pic 18f4520
Publicado por: jezus en 04 de Septiembre de 2009, 08:58:22
Lo he probado pero no hay manera..tienes algun ejemplo de codigo con este pic donde uses este puerto como I/O digitales?
Título: Re: Problema con el puerto_a del pic 18f4520
Publicado por: Suky en 04 de Septiembre de 2009, 09:03:04
En que lenguaje estas programando?
Título: Re: Problema con el puerto_a del pic 18f4520
Publicado por: jezus en 04 de Septiembre de 2009, 12:56:40
En c con el compilador ccs. Acabo de cambiarlo por el pic 18F442 y me ocurre igual, la cosa cambia si uso el 16f877 ya que funciona correctamente...El caso es que quiero manejar un array de pulsadores y por tanto tengo que ir activando las salidas (conectadas al puertoA). En la imagen esta el código(es una función) y el pic...como puedes ver A0 y A1 están activados desde un principio sin que yo lo quiera y....no tengo ni idea de porque ocurre esto, estoy haciendo mil cambios pero sigue igual, se supone que esto me pasa con los pic de la familia 18F que la verdad nunca he trabajado con ellos.
Título: Re: Problema con el puerto_a del pic 18f4520
Publicado por: PalitroqueZ en 04 de Septiembre de 2009, 13:06:54
... se activan los pines A0 y A1....no tengo control sobre ellos y no se por qué!! :x...
mira en el datasheet que otras opciones tienen eso pines y busca deshabilitarlos como te dice suky
Título: Re: Problema con el puerto_a del pic 18f4520
Publicado por: Suky en 04 de Septiembre de 2009, 13:07:35
Configura como salida solo los pines A0, A1, puede ser usando: #use fixed_io(a_outputs=PIN_A0, PIN_A1)
Después en el main:
Código: C
void main(){
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
output_a(0x00);
Saludos!
Título: Re: Problema con el puerto_a del pic 18f4520
Publicado por: jezus en 04 de Septiembre de 2009, 14:09:37
Muchas gracias!!ya he resuelto el problema!! Sigo teniendo otra duda...la dirección del puerto c en este pic sabeis cual es??he estado mirando en su datasheet (porque la 0x07 no es seguro)...pero no la he encontrado, pero bueno,eso no es muy importante, ya que con la instrucción "input_c()" puedo preguntar el valor del puerto en cualquier momento. Gracias de nuevo!! :mrgreen: :mrgreen:
Título: Re: Problema con el puerto_a del pic 18f4520
Publicado por: Suky en 04 de Septiembre de 2009, 14:14:54
No te preocupes, porque para determinar su estado realizas input_c(), o para un solo pin, input(PIN_C0). Para cargar algún valor usas output_c(), o para un solo pin output_low, output_high(), etc ;-)