34 #error "This processor selection has the DMA module; this code example is incompatible with a PIC24 CPU that has DMA."
39 #define CONFIG_LED2() CONFIG_RB5_AS_DIG_OUTPUT()
43 #define ADC_NSTEPS 1024
44 #define ADC_12BIT_FLAG 0
54 void _ISR _ADC1Interrupt (
void) {
63 if (AD1CON2 & ADC_ALT_BUF_STATUS_2) {
64 for ( u8_i=0; u8_i<8; u8_i++) {
65 au16_buffer[u8_i] += au16_adcHWBuff[u8_i];
68 for ( u8_i=8; u8_i<16; u8_i++) {
69 au16_buffer[u8_i-8] += au16_adcHWBuff[u8_i];
81 for ( u8_i=0; u8_i<8; u8_i++) {
82 au16_sum[u8_i] = au16_buffer[u8_i];
83 au16_buffer[u8_i] = 0;
109 CONFIG_AN0_AS_ANALOG();
110 CONFIG_AN1_AS_ANALOG();
111 CONFIG_AN2_AS_ANALOG();
112 CONFIG_AN12_AS_ANALOG();
121 T2CON = T2_32BIT_MODE_ON | T2_PS_1_1 | T2_SOURCE_INT;
126 PR2 = u32_ticks & 0xFFFF;
133 while (!u8_gotData) {
137 for ( u8_i=0; u8_i<4; u8_i++) {
138 u16_pot = au16_sum[u8_i];
139 f_pot = (3.3 / 1023 / 64 ) * u16_pot;
145 ui16_potmv = f_pot*1000;
146 printf(
":0x%04X=%d mV ", u16_pot, ui16_potmv );
149 printf(
":0x%04X=%1.3fV ", u16_pot, (
double) f_pot );