Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Не просыпается tiny2313 по INTO

Непрочитано 06.02.2011, 00:55  
harchenko_pavel
Прописка
 
Регистрация: 28.09.2006
Сообщений: 144
Сказал спасибо: 11
Сказали Спасибо 95 раз(а) в 51 сообщении(ях)
harchenko_pavel на пути к лучшему
По умолчанию Re: Не просыпается tiny2313 по INTO

Сообщение от TechMike Посмотреть сообщение
// вгоняем МК в POWER-DOWN
cli(); // зарещаем прерывания глобально
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sei(); // разрешаем прерывания глобально
sleep_mode();
_delay_ms(20);

PORTD ^= 0b00010000;
_delay_ms(800);
_delay_ms(800);
PORTD ^= 0b00010000;

}
Вы отправляете контроллер спать разве эта часть кода когда нибудь выполнится?

_delay_ms(20);

PORTD ^= 0b00010000;
_delay_ms(800);
_delay_ms(800);
PORTD ^= 0b00010000;

}


PINB=0b00000000; // выводим на все выходы PORTB 0
PIND=0b00000000; // выводим на все выходы PORTD 0
PINA=0b00000000; // выводим на все выходы PORTD 0

Регистры PINx доступны только для чтения, а PORTx и DDRx для чтения/записи
Так что ни чего вы при такой записи на них не выводите

Пишете вы в avrgcc и для сторожевого таймера достаточно подключить библиотеку #include ‹avr/wdt.h›
и в коде всавить wdt_enable(WDTO_1S); и не забываем сбрасывать wdt_reset();
Реклама:
harchenko_pavel вне форума  
Непрочитано 06.02.2011, 01:03  
harchenko_pavel
Прописка
 
Регистрация: 28.09.2006
Сообщений: 144
Сказал спасибо: 11
Сказали Спасибо 95 раз(а) в 51 сообщении(ях)
harchenko_pavel на пути к лучшему
По умолчанию Re: Не просыпается tiny2313 по INTO

Да и не забудьте, что в режиме power down отключается тактовый генератор и для пробуждения по внешнему прерыванию по низкому уровню длительность сигнала на входе INT0 должна быть не менее времени запуска контроллера
harchenko_pavel вне форума  
Непрочитано 06.02.2011, 01:03  
kittec
Гражданин KAZUS.RUN
 
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
kittec на пути к лучшему
По умолчанию Re: Не просыпается tiny2313 по INTO

Сообщение от harchenko_pavel Посмотреть сообщение
разве эта часть кода когда нибудь выполнится?
Вообще то сюда мы должны попасть после обработки INT0 по команде RETI.
К сожалению я не понимаю С, пишу на asm.
kittec вне форума  
Непрочитано 06.02.2011, 01:24  
harchenko_pavel
Прописка
 
Регистрация: 28.09.2006
Сообщений: 144
Сказал спасибо: 11
Сказали Спасибо 95 раз(а) в 51 сообщении(ях)
harchenko_pavel на пути к лучшему
По умолчанию Re: Не просыпается tiny2313 по INTO

Сообщение от kittec Посмотреть сообщение
Вообще то сюда мы должны попасть после обработки INT0 по команде RETI.
Сори на прав: после выполнения команды SLEEP выход из режима сна происходит при возникновении разрешенного прерывания. В этом случае, помимо времени старта микроконтроллер приостанавливается на 4 машинных цикла, выполняет процедуру обработки прерывания и продолжает выполнять команды следующие за SLEEP. Содержимое файла регистров и статического ОЗУ остается неизменным после выхода из режима сна.
Значит этот участок кода выполнится только при возникновении прерывания, в случае срабатывания сторожевого таймера начнем сначала.
Если определяем источник сброса то можем пропустить ненужный участок
if ((MCUCSR & (1 ‹‹ WDRF))!=0)
{
//это сброс по wdt
//этот участок кода мы выполнять не будем
}
harchenko_pavel вне форума  
Непрочитано 06.02.2011, 01:49  
kittec
Гражданин KAZUS.RUN
 
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
kittec на пути к лучшему
По умолчанию Re: Не просыпается tiny2313 по INTO

Сообщение от TechMike Посмотреть сообщение
если в прерывании INT0 не вырубать его возникновение (чтобы зря его не вызывать) то все функционирует как надо.
Ерунда какая то, флаг I регистра SREG аппаратно сбрасывается сразу после вызова соответствующей процедуры обработки прерывания и устанавливается после команды RETI. И никаких "вырубаний " и CLI внутри процедуры не надо.
kittec вне форума  
Непрочитано 06.02.2011, 01:53  
kittec
Гражданин KAZUS.RUN
 
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
kittec на пути к лучшему
По умолчанию Re: Не просыпается tiny2313 по INTO

Сообщение от harchenko_pavel Посмотреть сообщение
Сори на прав:
Не понял Вас, уважаемый. Зто "смотри на право " или "сорри не прав" ?
kittec вне форума  
Непрочитано 06.02.2011, 03:47  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Не просыпается tiny2313 по INTO

Код:
EIFR=0; // External Interrupt Flag 0 Disable
internalINT=1;
Зачем это, если не секрет? При выходе из прерывания оно само всё сбросит.

А вообще, контроллер точно выполняет то, что Вы ему написали. Он выполняет вот это:
Код:
// сработали сигнальные входы и пробуждение по INT0, нужно выключить прерывание INT0
GIMSK=0;  // External Interrupt Request 0 Disable
EIFR=0; // External Interrupt Flag 0 Disable
internalINT=1;
и дальше честно спит.
Как же он будет выполнять отключенное прерывание?
Либо не отключайте, либо не забывайте после выполнения реакции на прерывание снова включить его.

Последний раз редактировалось omercury; 06.02.2011 в 04:24.
omercury вне форума  
Непрочитано 06.02.2011, 10:50  
mironov
Вид на жительство
 
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
mironov на пути к лучшему
По умолчанию Re: Не просыпается tiny2313 по INTO

"Столкнулся со странной проблемой выхода tiny2313 из powerdown"
Скорее всего ничего и не выйдет. Сколько не бился на макете, выход из powerdown не получился. Менял и схему и программу. По моему в tiny2313 работает только idle Так на нем и остановился. Ток потребления 300 мкА. Посчитал, что для пульта сойдет.
mironov вне форума  
Непрочитано 06.02.2011, 11:12  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Не просыпается tiny2313 по INTO

В тинях2313 приекрасно работает ИНТ0.
В крайнем случае есть ПЦИНТы
Миниатюры:
Нажмите на изображение для увеличения
Название: 0_2.PNG
Просмотров: 59
Размер:	71.9 Кб
ID:	17879  
niXto вне форума  
Непрочитано 06.02.2011, 11:47  
kittec
Гражданин KAZUS.RUN
 
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
kittec на пути к лучшему
По умолчанию Re: Не просыпается tiny2313 по INTO

Сообщение от mironov Посмотреть сообщение
По моему в tiny2313 работает только idle Так на нем и остановился.
Неправда Ваша, tiny2313 прекрасно выходит из power_down по INTO. Могу скинуть пример, можно для протеуса.
kittec вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WH1602 и Tiny2313 maruda_v Микроконтроллеры, АЦП, память и т.д 100 01.05.2013 13:37
Часы дла ВАЗ классики на tiny2313 VladimirMal Микроконтроллеры, АЦП, память и т.д 8 17.10.2011 14:31


Часовой пояс GMT +4, время: 00:08.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.