#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;
ansel_val = 0x0000;
}
do {
idle(50); // wait about 50us
a = polladc();
- } while((a & 0x8000) != 0);
+ } while(a == 0xffff);
return a;
}
void power_on(unsigned char f)
{
if(f == 0x00){
- set_examp_mute(0xff);
- idle_time_ms(200);
- set_radiopower(0x00);
+ set_radiopower(0x00);
+ set_examp_mute(0xff);
+// idle_time_ms(200);
} else {
set_examp_mute(0x00);
idle_time_ms(100);
void shutdown(unsigned char savef)
{
rfamp_power(RFAMP_OFF);
+ power_on(0);
acm1602_suspend(LCD_I2CADDR);
+ lcd_setbacklight(0, 0);
power_off(savef);
}
save_eeprom();
save_userbands();
}
- lcd_setbacklight(0, 0);
set_powerlamp(0);
_AM_STATLAMP = 0;
_FM_STATLAMP = 0;
- power_on(0);
WDTCONbits.SWDTEN = 0; // Lame WDT OFF.
sts = 0;