Форум по Роботика

Технически форум => Програмиране => Темата е започната от: million в Ноември 02, 2007, 01:12:49 pm

Титла: Проблем с ADC
Публикувано от: million в Ноември 02, 2007, 01:12:49 pm
Еее, все на мен се случва! Нещо не мога да изкарам 16 битово число от аналогово цифрово преобразуване. Процесора е 18Ф1220. ето го и кода! #include <18F1220.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT
#use delay(clock=20000000)
#define adc=10
int16 value;

void blink(){
value = (int16) read_adc();

if (value>100){
output_bit(PIN_A1,1);         }
if (value<100){
output_bit(PIN_A1,0);
}
}

#int_RTCC
void RTCC_isr(){
blink();
}


void main()
{

setup_adc_ports(sAN0|VSS_VDD);
//setup_adc_ports(sAN0|VREF_VREF);
setup_adc(ADC_CLOCK_DIV_2); //32
set_adc_channel(0);
   setup_wdt(WDT_OFF);
    set_tris_A(0b00000001);
     set_tris_B(0b00000000);
    setup_timer_0(RTCC_DIV_4);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
   setup_oscillator(False);
   enable_interrupts(INT_RTCC);

    enable_interrupts(GLOBAL);

while (TRUE){
      }
}

Резултата го гледам в МПЛАБ с ICD2  в  debugr mode.  Моля, който знае и може да ми помогне :)
Титла: Проблем с ADC
Публикувано от: sv_shady в Ноември 03, 2007, 05:54:22 pm
След като погледнах как стои въпроса с ADC модула при пик установих грешката:  #device ADC=10  Така не трябва да имаш проблеми :)
Титла: Проблем с ADC
Публикувано от: million в Ноември 05, 2007, 10:27:38 am
Еййй тръгна! Благодаря :) Сега работи :)