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

 
 
> Как инициализировать АЦП в режиме непрерывного преобразования
Sirko
сообщение Jan 31 2013, 15:35
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 245
Регистрация: 15-08-07
Пользователь №: 29 795



Чип Mega48
Инициализирую вот так:
Код
ADCSRA =
    _BV(ADEN)      // Разрешить работу АЦП
  | _BV(ADIE)     // Разрешить прерывания
  | _BV(ADSC)     // Запустить преобразование (первое, дальше автоматом)
  | _BV(ADATE)    // Непрерывные последовательные преобразования, одно за другим.
  | _BV(ADPS2) | _BV(ADPS1) | _BV(ADPS0);     // Делитель частоты на 128
    
ADMUX =
    _BV(REFS0)     // Опорное напряжение AVCC 5V
  | _BV(ADLAR)     // Выравнивание по левому краю
  |  5;            //   Сигнал на вход идет с пятого канала АЦП

ISR(ADC_vect){//-------------------------------------------------------------------------------------
   u16 q = ADCW;
//  ADCSRA &=~_BV(ADIE);
}


Судя по поведению, при попадании в прерывание - выхода от туда нет.
Если в инициализации закоментировать разрешение прерывания АЦП или в обработчике его запретить, то остальной софт функционирует

В чем косяк?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sirko   Как инициализировать АЦП в режиме непрерывного преобразования   Jan 31 2013, 15:35
- - arttab   есть бит в регистре управления ацп включающий авто...   Feb 1 2013, 01:12
- - Sirko   Бит то есть, но при его задействовании нет выхода ...   Feb 1 2013, 06:32
|- - ILYAUL   Цитата(Sirko @ Feb 1 2013, 10:32) нет вых...   Feb 1 2013, 07:11
- - Sirko   Дык вопрос то о том, как "это" ему дать....   Feb 1 2013, 07:36
|- - xemul   Цитата(Sirko @ Feb 1 2013, 11:36) Понятно...   Feb 1 2013, 08:00
- - ILYAUL   Так всё и происходит , только при выходе он успева...   Feb 1 2013, 08:04
- - Sirko   Цитатапока программа ковыряется внутри У меня в на...   Feb 1 2013, 09:01
- - doublekey   В даташите на странице 247 написано: КодWhen Auto ...   Feb 1 2013, 19:00
- - ILYAUL   ЦитатаПопробуйте сбрасывать запрос прерывания в об...   Feb 1 2013, 22:05
- - doublekey   Хм, но вот проверил у себя на плате, инициализирую...   Feb 2 2013, 07:39
- - ILYAUL   КодADCSRA = _BV(ADEN); ADCSRA |= _BV(A...   Feb 2 2013, 09:53
- - doublekey   Код e: 80 e8 ldi r24, 0x80; 128 10...   Feb 2 2013, 10:22
- - ILYAUL   А должно быть -2   Feb 2 2013, 11:06
- - doublekey   ILYAUL, так тема про то, что человек написал иници...   Feb 2 2013, 11:45
- - ILYAUL   КодADCSRA = (1<<ADEN)|(1<...   Feb 2 2013, 11:58
- - Sirko   ЦитатаУ него дело не в инициализации. Как оказало...   Feb 4 2013, 13:08


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

 


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


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