ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
135183
AlexBi (15.10.2008 09:56, просмотров: 2717)
Почему-то не работает автоматическое сканирование входов АЦП у PIC24HJ256GP206. Что я делаю не так?  // настройка АЦП _ADON=0; AD1PCFGL &= ~(0x3000); // set as analog AD1CON1bits.ASAM=1; // 1 = Sampling begins immediately after last conversion. SAMP bit is auto-set. AD1CON1bits.SSRC=0; // 000 = Clearing sample bit ends sampling and starts conversion AD1CON2bits.CSCNA=1; // Scan Input Selections for CH0+ during Sample A bit AD1CON3bits.SAMC=6; // Auto Sample Time bits = 6 * TAD AD1CON3bits.ADCS=2; // TAD = 200ns AD1CSSL=0x3000; // scan AN12, AN13 _ADON=1; while(1) { unsigned i; for(i=0; i<20; ++i) { do {} while(AD1CON1bits.SAMP==0); AD1CON1bits.SAMP=0; do {} while(AD1CON1bits.DONE==0); buf[i]=ADC1BUF0; } __builtin_nop(); __builtin_nop(); __builtin_nop(); __builtin_nop(); } На AN12 и AN13 разные напряжения, но весь массив забивается результатами, соответствующими AN12. Результат смотрю отладчиком (PICkit2). Кучка нопов в конце для точки останова, почему-то у меня останавливается не там где укажу, а на пару команд дальше.