Από το 16f877.h (το δικό σου).
Κώδικας:
////////////////////////////////////////////////////////////////// ADC
// ADC Functions: SETUP_ADC(), SETUP_ADC_PORTS() (aka SETUP_PORT_A),
// SET_ADC_CHANNEL(), READ_ADC()
// Constants used in SETUP_ADC_PORTS() are:
#define NO_ANALOGS 0x86 // None
#define ALL_ANALOG 0x80 // A0 A1 A2 A3 A5 E0 E1 E2 Ref=Vdd
#define ANALOG_RA3_REF 0x81 // A0 A1 A2 A5 E0 E1 E2 Ref=A3
#define A_ANALOG 0x82 // A0 A1 A2 A3 A5 Ref=Vdd
#define A_ANALOG_RA3_REF 0x83 // A0 A1 A2 A5 Ref=A3
#define RA0_RA1_RA3_ANALOG 0x84 // A0 A1 A3 Ref=Vdd
#define RA0_RA1_ANALOG_RA3_REF 0x85 // A0 A1 Ref=A3
#define ANALOG_RA3_RA2_REF 0x88 // A0 A1 A5 E0 E1 E2 Ref=A2,A3
#define ANALOG_NOT_RE1_RE2 0x89 // A0 A1 A2 A3 A5 E0 Ref=Vdd
#define ANALOG_NOT_RE1_RE2_REF_RA3 0x8A // A0 A1 A2 A5 E0 Ref=A3
#define ANALOG_NOT_RE1_RE2_REF_RA3_RA2 0x8B // A0 A1 A5 E0 Ref=A2,A3
#define A_ANALOG_RA3_RA2_REF 0x8C // A0 A1 A5 Ref=A2,A3
#define RA0_RA1_ANALOG_RA3_RA2_REF 0x8D // A0 A1 Ref=A2,A3
#define RA0_ANALOG 0x8E // A0 στο δικό μου που είναι ποιο νεα έκδοση το γράφει έτσι #define AN0 0x0E // A0
#define RA0_ANALOG_RA3_RA2_REF 0x8F // A0 Ref=A2,A3
// Constants used for SETUP_ADC() are:
#define ADC_OFF 0 // ADC Off
#define ADC_CLOCK_DIV_2 1
#define ADC_CLOCK_DIV_8 0x41
#define ADC_CLOCK_DIV_32 0x81
#define ADC_CLOCK_INTERNAL 0xc1 // Internal 2-6us
// Constants used in READ_ADC() are:
#define ADC_START_AND_READ 7 // This is the default if nothing is specified
#define ADC_START_ONLY 1
#define ADC_READ_ONLY 6
////////////////////////////////////////////////////////////////// INT
Δηλ. εδώ που γράφεις
Αρχικό μήνυμα από
jakektm
αρα θα πρεπει να βαλω δεκαεξαδικο μεσα στην παρενθεση αναλογα τι θελω να κανω;;
Η απάντηση είναι όχι,
αυτό που κάνει ο compiler είναι όπου βλέπει την λέξη NO_ANALOGS, και αφού υπάρχει το #define NO_ANALOGS 0x86 το αντικαθιστά με το hex που υπάρχει στο τέλος.
Δοκίμασε το και έτσι setup_adc_ports(RA0_ANALOG) ή αν δεν δουλέψει setup_adc_ports(0x8E),
και μια τελευταία δοκιμή setup_adc_ports(0x0Ε) τώρα γιατί στο δικό μου έχει 0Ε και στο δικό σου 8Ε δεν ξέρω.
Μάλλον πρέπει να κατεβάσεις ποιο νέα έκδοση για να σου είναι συμβατή με τα νέους κώδικες.