Las advertencias son porque no estás seleccionando los canales adecuadamente.Intenté leer 2 puertos por medio de la configuración A/D que me daba la hoja de datos pero me devuelve un error en la simulación,
(Adjunto una foto con el error) pero me lee perfectamente los valores del canal 12 y el 5.
Si obtienes lecturas puede ser porque estás usando un simulador.
Sí, puedes usar todos los conversores disponibles seleccionando qué canal se usará.¿Se puede utilizar mas de un canal A/D a la vez?
Con el registro ADCON0¿Cómo se puede configurar eso?
No son errores, son advertencias.¿A que se debe ese error?
Cuando se genera un error el simulador deja de funcionar.
Así debe ser el programa para usar los canales 5 y 12:
PHP:
Inicio:
Dim Valor_ADC1 As Word
Dim valor_ADC2 As Word
OSCCON = 0b01100000
While OSCCONbits_IOFS = 0 ; Esperar hasta que el oscilador interno sea estable.
Nop
Wend
ADCON2 = 0b10000011 ; Resultado de la conversión con justificación a la derecha.
Cls ; Limpia o inicializa la pantalla.
Programa:
ADCON1 = 0b00000000 ; Configurar el conversor para leer todos los canales.
ADCON0 = 0b00010100 ; Activar el canal 5
Valor_ADC1 = ADIn 5 ; Leer el resultado de la conversión.
While ADCON0bits_GO = 1 ; Esperar a que esté lista la conversión.
Nop
Wend
ADCON0 = 0b00110000 ; Activar el canal 12
valor_ADC2 = ADIn 12 ; Leer el resultado de la conversión.
While ADCON0bits_GO = 1 ; Esperar a que esté lista la conversión.
Nop
Wend
ADCON1 = 0x0F ; Deshabilitar los conversores AD.
Print At 1,1, "Canal 05: ", Dec4 Valor_ADC1
Print At 2,1, "Canal 12: ", Dec4 valor_ADC2
DelayMS 50 ; Éste retardo se puede omitir.
GoTo Programa
End
Última edición: