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

 
 
> Ну совсем детский вопрос по АЦП, запрет-разрешение прерывания
ArtemKAD
сообщение Apr 16 2010, 19:47
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Не подскажет ли кто такую мелочь. Надо в процессе работы сперва запретить прерывание АЦП, а затем его разрешить. Естественно не трогая биты флага и не перезапуская преобразование. Не подскажет ли кто как это совсем правильно сделать.
Проц - AtMega48 . Смущает - все биты в перемешку в ADCSRA и просто устанавливая/сбрасывая бит можно там цеплять в т.ч. и соседние...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DpInRock
сообщение Apr 17 2010, 11:21
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
Cкорее не совсем так, вот что по этому поводу пишет DS

Да вот как раз именно так.
Биты сбрасываются записью 1. Ноль не оказывает никакого значения.
А вот зачем это делать - запрещать прерывания АЦП - это другой вопрос. Спрашивается, зачем тогда по прерыванию вообще работать.
ADCSRA=10000xxx; - запрет прерывания
ADCSRA=10001xxx;- разрешение прерывний.
И ничего нигде не испортится.
Единственное, надо посмотреть - не потеряет ли контроллер прерываний прерывание, если преобразование закончится во время запрета прерываний.
Судя по схеме - не должен. Флаг ADIF и ADIE работают параллельно (по и).

Сообщение отредактировал DpInRock - Apr 17 2010, 11:27


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Apr 17 2010, 11:52
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(DpInRock @ Apr 17 2010, 15:36) *
А вот зачем это делать - запрещать прерывания АЦП - это другой вопрос. Спрашивается, зачем тогда по прерыванию вообще работать.

Я думаю , только в случае отложенного прерывания, когда по каким- то причинам его надо пропустить, а потом обработать, но тогда можно сбрасывать ADIF - запоминать , что он был установлен и затем обрабатывать.
При работе в режиме одиночного преобразования, это вполне возможно , результат преобразования не изменяется

Цитата(DpInRock @ Apr 17 2010, 15:36) *
Да вот как раз именно так.

Вот , что получилось , после того как я просто модифицировал рабочий код
Первая картинка , инит АЦП, вторая - я убрал всё , кроме записи в бит ADCS т.е все биты сбросились в ноль, хотя просто модифицировал бит . Но его конечно не возможно поймать в 1

Сообщение отредактировал ILYAUL - Apr 17 2010, 11:55


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ArtemKAD   Ну совсем детский вопрос по АЦП   Apr 16 2010, 19:47
- - ILYAUL   Цитата(ArtemKAD @ Apr 17 2010, 00:02) Не ...   Apr 16 2010, 21:08
- - V_G   Скорее всего, ADSC=ADIF=0, остальные флаги считать...   Apr 16 2010, 23:36
- - DpInRock   Цитатаросто устанавливая/сбрасывая бит можно там ц...   Apr 16 2010, 23:37
|- - ILYAUL   Цитата(DpInRock @ Apr 17 2010, 03:52) А в...   Apr 17 2010, 11:14
- - DpInRock   Значит так. Выбросьте это на помойку. И пользуйтес...   Apr 17 2010, 13:21
|- - ILYAUL   Цитата(DpInRock @ Apr 17 2010, 17:36) Зна...   Apr 17 2010, 13:39
- - ArtemKAD   ЦитатаА вот зачем это делать - запрещать прерывани...   Apr 17 2010, 19:51
|- - ILYAUL   Цитата(ArtemKAD @ Apr 18 2010, 00:06) ......   Apr 17 2010, 21:41
- - ArtemKAD   ЦитатаЧто бы обработать какое либо вложенное преры...   Apr 19 2010, 07:22
|- - ILYAUL   Цитата(ArtemKAD @ Apr 19 2010, 11:37) ......   Apr 19 2010, 07:52
- - ArtemKAD   ЦитатаНо он предоставляет выбор , с какими прерыва...   Apr 19 2010, 08:40
- - ILYAUL   Цитата(ArtemKAD @ Apr 19 2010, 12:55) ЗЫ....   Apr 19 2010, 09:59


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 11:39
Рейтинг@Mail.ru


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