Ayer se descubrió mientras la lluvia caía, que el error el cual trate de encontrar desde el lunes, fue simplemente el un cambio de memoria... Suele pasar y eso que ni qué... El mundo del debuggeo es muy entretenido y te deja cosas muy buenas.
Así que hoy para variar, me he puesto a darle duro a esto para poder partir en mas fragmentos y mejor documentados, por lo que la configuración quedo dividida en los una rutina mas para la configuración del ADC y una para la configuración general del PIC.
org 0
call Init
call ADC_Config
goto Principal
org 4
retfie
Y con esto tenemos un mejor panorama de la configuración del modulo de ADC del PIC. Basta señalar que Init solo configura los puertos de entrada y salida. Pero ADC_Config se limita a configurar el modulo como esta a continuación.
ADC_Config
;Cambiando al banco 1 para configuracion del ADC
bsf STATUS,RP0
bcf STATUS,RP1
;Desactivando las interrupciones
clrf INTCON
clrf PIE1
;Configurando las patitas del puerto A
movlw 0x8F
movwf ADCON1
;Cambiando de banco. Y con esta linea arreglamos el problema que teniamos con el mal funcionamiento del pic.
bcf STATUS,RP0
;Seleccionando la frecuencia de reloj para la conversión. Fosc/8
;ADCS1=0
;ADCS0=1
;ADON=1
movlw 0x41
movwf ADCON0
;Configurando el bit de estado de la conversión.
;GO=1. Iniciandoce la conversión.
bsf ADCON0,GO
return
Y con esto resolvemos el problema de sobre escritura de ADCON1. y podremos seguir. Ya les ire poniendo mas cosas para que podamos seguir experimentando.
FELIZ DÍA DE LA MUJER (dijo nadie nunca) o debería...
-
Para quien no entienda la ironía del titulo en un contexto histórico se
refiere a la lucha de las sufragistas por el voto.
En palabras de la ONU, "se ref...
Hace 5 años
No hay comentarios:
Publicar un comentario