OSDN Git Service

[ADC] Poll ADC with idle_time_ms().
authorK.Ohta <whatisthis.sowhat@gmail.com>
Sat, 31 Aug 2013 14:06:52 +0000 (23:06 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Sat, 31 Aug 2013 14:06:52 +0000 (23:06 +0900)
adc_int.c
nbproject/Makefile-genesis.properties
radio_getstat.c

index 787bc19..df2c628 100644 (file)
--- a/adc_int.c
+++ b/adc_int.c
@@ -58,14 +58,12 @@ void intadc_init(void)
 unsigned int polladc(void)
 {
     unsigned int a;
+    PIE1bits.ADIE = 0;
+    PIR1bits.ADIF = 0;
     if(ADCON0bits.DONE){ // converting or not enable.
-        PIE1bits.ADIE = 1;
-        PIR1bits.ADIF = 0;
         return 0xffff;
     } else { // Done, Clear interrupt
         a = ((ADRESH << 8)  + ADRESL) & 0x03ff;
-     PIE1bits.ADIE = 0;
-     PIR1bits.ADIF = 0;
      ADCON0bits.GO_DONE = 0;
      return a;
     }
index 7d94e28..c1e5e7c 100644 (file)
@@ -1,5 +1,5 @@
 #
-#Sat Aug 31 22:01:07 JST 2013
+#Sat Aug 31 22:37:32 JST 2013
 default.languagetoolchain.dir=/opt/microchip/xc8/v1.20/bin
 com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=1c49f19f6a43b876c317e0d8d41c0854
 default.languagetoolchain.version=1.20
index 50cc01d..221a2af 100644 (file)
@@ -85,8 +85,10 @@ void update_status(void)
         tuneflag = akc6955_tune();
         cnrlevel = akc6955_get_cnr();
         batlevel_6955 = akc6955_get_battery();
-   startadc(7);
-   idle_time_ms(1);
-   polladc2(adc);
+        startadc(7);
+        do {
+            idle_time_ms(1);
+            adc = polladc();
+        } while(adc == 0xffff);
    battlevel = adc_rawtobatt(adc, batlevel_6955);
 }