Maybe it's a bug, maybe I'm really missing something but I found a real strange way to have it work on ADC channel 5 to 8
Code:DEFINE OSC 16 TRISB = %00000000 '----- Set ADC --------------------------------------------- DEFINE ADC_BITS 10 DEFINE ADC_SAMPLEUS 2 'ADCON1 = %00000111 'ADC on channel AN0 to AN7 ADCON2.7 = 1 'Right justified A/D ANSEL0 = 255 ANSEL1.0 = 1 ADCHS = %01010110 'group select bit to channel 5-6-7-8 '----- Set LCD --------------------------------------------- DEFINE LCD_LINES 4 define LCD_DREG PORTD DEFINE LCD_RSREG PORTC DEFINE LCD_RSBIT 0 DEFINE LCD_EREG PORTC DEFINE LCD_EBIT 2 line_1 con $80 line_2 con $C0 line_3 con $94 line_4 con $D4 PAUSE 1000 LCDOUT $FE, 1 A0 VAR WORD A1 VAR WORD A2 VAR WORD A3 VAR WORD A4 VAR WORD main: ADCIN 0, A0 ADCIN 1, A1 ADCIN 2, A2 ADCIN 3, A3 lcdOUT $FE,1, LINE_1, #A0 lcdOUT $FE, LINE_2, #A1 lcdOUT $FE, LINE_3, #A2 lcdOUT $FE, LINE_4, #A3 pause 100 goto main end
I Said Channel 5 to 8 !
Actually what is amazing is that this is wired to channel 5 to 8 (physical pin 7 to 10) And even if I wrote ADCIN 0, this will actually read channel 5 !!!!
This is certainly linked with the ADCHS register.
But there is a faint smell of bug around here, don't you think?
J-P




Bookmarks