реклама на сайте
подробности

 
 
> LPC2148 ADC0 OVERUN, Почему происходит OVERUN ?
MiklPolikov
сообщение May 14 2012, 11:09
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



LPC2148 ADC0 , вроде вроде бы всё предельно просто. Выполняю вот этот кол раз в секунду :



AD0CR|=(1<<1); //выбираем канал

AD0CR|=(1<<24);// запускаем преобразование

while(!(AD0GDR&0x80000000)){} //ждём пока преобразование закончится

ADC_result=AD0GDR; //переписываем в переменную result весь регистр AD0GDR


Но время от времени , нерегулярно, выставляется бит OVERUN , и прочитанный из AD0GDR результат оказывается неправильный. Интересно, почему ?


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
Terrabyte
сообщение May 22 2012, 20:32
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 124
Регистрация: 2-01-07
Из: Russia
Пользователь №: 24 042



- подтверждение прерывания ? VICVectAddr = 0; // Acknowledge Interrupt
- у меня вручную запуск сделан, битом ... init:
AD0CR = tmp | // SEL=1,select channel 0~7 on ADC0
c_CLKDIV_ADC| // CLKDIV = Fpclk / 1000000 - 1
( 0 << 16 ) | // BURST = 0, no BURST, software controlled
( 0 << 17 ) | // CLKS = 0, 11 clocks/10 bits
( 1 << 21 ) | // PDN = 1, normal operation
( 0 << 24 ) | // START = 0 A/D conversion stops
( 0 << 27 ); // EDGE = 0
install_irq( ADC0_INT, (void *)ADC0_Handler, ADC_PR);
...AD0INTEN = 0x100; // Enable AD0GDR DONE interrupt

в прерывании:
rd = AD0GDR; // read data
AD0CR &= 0xF8FFFFFF; // stop ADC now
if (!(rd & BIT30)) {} // overrun ?

- errata LPC23xx:
ADC: ADDRx read conflicts with hardware setting of DONE bit
+ External sync inputs not operational !
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 00:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01327 секунд с 7
ELECTRONIX ©2004-2016