Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
YTSHOT
0 / 0 / 0
Регистрация: 29.06.2014
Сообщений: 51
1

Режим сна АЦП.

13.07.2015, 01:31. Просмотров 2570. Ответов 4
Метки нет (Все метки)

Всем привет. Возникла необходимость просыпаться по прерыванию, после окончание преобразования ацп. Но для этого не могу уснуть в режиме ADC Noise Riduction. Контроллер Тини13. Компилятор CVAVR. Стандартная билиотека SLEEP.h не дает такой возможности.
В даташите написано что для сна необходимо в регистре MCUCR установить 5 бит SE, затем 4 бит (SM1) сбросить, а 3 бит (SM0) установить. И дать команду уснуть.
В итоге примерно так :
MCUCR=(1<<SE);
MCUCR=(0<<SM1)|(1<<SM0);
#asm("sleep")
Но в симуляторе мк не засыпает.
Уважаемые!!! Что я делаю не так?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2015, 01:31
Ответы с готовыми решениями:

Матрица и режим сна ?
К мк подключена матрица как здесь, за одним исключением: сканирующий порт выдает 1 на каждый из...

Помогите побороть режим сна AVR
Помогите выйти из сна. Проц ATMiko8A Логика работы простая. На INT0 (порт D вывод 2) висит...

АЦП режим с усилением
Подскажите пожалуйста, никто не пользовался режимом АЦП с усилением. Насколько стабилен коэффициент...

PIC24FJ64. Режим сна
а подскажите как отправить pic24 в сон по изменению уровня сигнала CN а потом по его изменению...

Расширение АЦП микроконтроллера и подключение к АЦП датчиков
Здравствуйте. У меня встала задача сделать устройство для элеватора, для контроля температуры в 864...

4
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
13.07.2015, 11:44 2
Код
MCUCR=(1<<SE);
MCUCR=(0<<SM1)|(1<<SM0);
Нормальненько так , сначала включаем и отключаем , а чего баловать.
0
dimyurk1978
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,047
13.07.2015, 16:36 3
Цитата Сообщение от YTYOUT
Код:
MCUCR=(1<<SE);
MCUCR=(0<<SM1)|(1<<SM0);
Нормальненько так , сначала включаем и отключаем , а чего баловать.
:)))
Илья имеет в виду следующее:
В первой строке загрузка значения (1<<SE).
Во второй строке по сути загрузка значения (1<<SM0).
Строка MCUCR=(0<<SM1)|(1<<SM0); не имеет никакого смысла. Потому что загрузка числа. И это число (1<<SM0).
Регистр один. MCUCR
Поэтому:
MCUCR=(1<<SE) | (1<<SM0);

MCUCR = x; это загрузка значения.
MCUCR |= (1<<SM0); установка бита SM0.
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
13.07.2015, 16:51 4
Имеется ввиду следующее, что в коде ТС
Код
MCUCR=(1<<SE);
Он установил значение SE
а затем
Код
MCUCR=(0<<SM1)|(1<<SM0);
его сбросил т.к. (MCUCR=(0<<SM1)|(1<<SM0)) == (MCUCR=(0<<SM1)|(1<<SM0)|(0<<SE))
т.к забыл |
0
YTSHOT
0 / 0 / 0
Регистрация: 29.06.2014
Сообщений: 51
14.07.2015, 01:43 5
Всем спасибо примерно понял что надо делать.
0
14.07.2015, 01:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2015, 01:43

Mega16 и неиспользуемый АЦП (питание ацп?)
Если я не использую АЦП контроллера нужно ли подавать на АЦП питание? Если нет, то просто оставить...

таймер1 непонятный режим! (режим 8)
Этот код реализует сигнал длительностью по уровням 170 и 100 микросекунд (примерно) //...

ATMega48PA не выходит из сна
Здравствуйте! Прошу помощи. Может кто-то сталкивался с подобным. Проблема заключается в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru