From: K.Ohta Date: Sat, 31 Aug 2013 14:06:52 +0000 (+0900) Subject: [ADC] Poll ADC with idle_time_ms(). X-Git-Url: http://git.osdn.net/view?p=openi2cradio%2FOpenI2CRadio.git;a=commitdiff_plain;h=65a70c415c1de8c0297ac05597f055e86aa3c134 [ADC] Poll ADC with idle_time_ms(). --- diff --git a/adc_int.c b/adc_int.c index 787bc19..df2c628 100644 --- 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; } diff --git a/nbproject/Makefile-genesis.properties b/nbproject/Makefile-genesis.properties index 7d94e28..c1e5e7c 100644 --- a/nbproject/Makefile-genesis.properties +++ b/nbproject/Makefile-genesis.properties @@ -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 diff --git a/radio_getstat.c b/radio_getstat.c index 50cc01d..221a2af 100644 --- a/radio_getstat.c +++ b/radio_getstat.c @@ -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); }