OSDN Git Service

[SCHEMATIC] Modify SW/MW/LW Preamp, insert galbanic-isolator replace of common-mode...
[openi2cradio/OpenI2CRadio.git] / adc_int.c
index 13a21b6..f9c7bdb 100644 (file)
--- a/adc_int.c
+++ b/adc_int.c
@@ -87,21 +87,16 @@ void startadc(unsigned char ch)
 #else
     PIE1bits.ADIE = 0;
     PIR1bits.ADIF = 0;
+    ADCON0 = 0;
+    ADCON2 = 0b00000110; // 64OSC, Right
+    ADCON1 = 0b00000000; // VREF+=VDD,VREF-=VSS
+    ADCON2 |= 0b10111000; // TAQ=20TAD, Right
     if(ch < _REF_ADC) {
-        ADCON0 = 0;
-        ADCON2 = 0b00000110; // 64OSC, Right
-        ADCON1 = 0b00000000; // VREF+=VDD,VREF-=VSS
-        ADCON2 |= 0b10111000; // TAQ=20TAD, Right
         ADCON0 = ch << 2;
-
         ansel_val = 0x0001 << ch;
 //        ansel_val = 0x0080;
     } else {
-        ADCON0 = 0;
-        ADCON2 = 0b00000110; // 64OSC, Right
-        ADCON1 = 0b00000000; // VREF+=VDD,VREF-=VSS
-        ADCON2 |= 0b10111000; // TAQ=20TAD, Right
-        ADCON0 = 0x0f << 2;
+        ADCON0 = 0b00111100; //0x0f << 2;
        ansel_val = 0x0000;
     }
     ANSELH = ansel_val >> 8;
@@ -129,7 +124,7 @@ unsigned int polladc2(void)
     do {
         idle(50); // wait about 50us
         a = polladc();
-    } while((a  & 0x8000) != 0);
+    } while(a  == 0xffff);
    return a;
 }