LPC2148 ADC0 , вроде вроде бы всё предельно просто. Выполняю вот этот кол раз в секунду :
AD0CR|=(1<<1); //выбираем канал
AD0CR|=(1<<24);// запускаем преобразование while(!(AD0GDR&0x80000000)){} //ждём пока преобразование закончится
ADC_result=AD0GDR; //переписываем в переменную result весь регистр AD0GDR
Но время от времени , нерегулярно, выставляется бит OVERUN , и прочитанный из AD0GDR результат оказывается неправильный. Интересно, почему ?
--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
|