volatile unsigned char pwm_, data0, data1, data2, led_buff[3]; //---------- 0-9 10 ........... 18 символов //Символы для LED (0-9, ,-,t,L,A,r,d,b,DP) flash unsigned char led_table[26]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf,0x87,0xC7,0x88,0xAF,0xA1,0x83,0x7F,0x8C,0xC6,0xC1,0x86,0x89,0x8E,0x9C}; // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 // [] - t L A r d b Dp P C U E H F град.
//volatile unsigned char y, jamp2=0; volatile unsigned char start=180;
// External Interrupt 0 service routine interrupt [EXT_INT0] void ext_int0_isr(void) // прерывание для захвата перехода через ноль. { // Place your code here Процедура обслуживания внешнего прерывания 0
OUT=OFF; timer_=start;
}
// Timer 0 overflow interrupt service routine Процедура обслуживания прерывания переполнения таймера 0 interrupt [TIM0_OVF] void timer0_ovf_isr(void) // прерывание для выхода управления тиристорами { // Place your code here Разместите свой код здесь timer_=start; OUT=ON; }
// Timer2 overflow interrupt service routine Процедура обслуживания прерывания переполнения Таймера 2 interrupt [TIM2_OVF] void timer2_ovf_isr(void) // прерывание для дисплея { // Reinitialize Timer2 value Повторно инициализировать значение Таймера2 TCNT2=0xCB;
if (jamp2==0) { PORTD.5=PORTD.6=PORTD.7=0; // выключаем все разряды
Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.
Немного нубский вопрос, но всё же. ATtiny85. Чип просыпается по внешнему прерыванию на пине PB2, затем сразу же в обработчике прерывания это самое прерывание отключается (PCMSK = 0), а включается обратно (PCMSK = 0b100) существенно позже, перед уходом в спящий режим. Делаю это для того, чтобы постоянно меняющийся уровень на пине (а там летит извне меандр 4 кГц) не вызывал сотни прерываний в секунду при работе основной программы, от них программа тормозит (чип работает на 128 кГц). Контроллер зависает намертво в спящем режиме второй раз за неделю, реагирует только на ресет. Безопасно ли отключать прерывание в обработчике этого же прерывания? И может ли быть такое, что при установке бита в PCMSK прерывание не включается или включается не сразу?
_________________ Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Внутри прерывания ничего отключать не надо - т.к. пока ты в прерывании сбрасывается регистр "I" (глобальное разрешение прерываний) а вот флаг прерывания в конце прерывания очистить наверно не повредит (зависит от решаемой задачи), это исключит повторный вызов прерывания сразу после его завершения если события, вызывающие прерывание, происходили во время прерывания. (флаг прерывания очищается записью в него "1")
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
ATtiny85. Чип просыпается по внешнему прерыванию на пине PB2,
Уточните, от какого прерывания просыпается МК, от INT0 или от PCIE0?
Цитата:
Делаю это для того, чтобы постоянно меняющийся уровень на пине (а там летит извне меандр 4 кГц) не вызывал сотни прерываний в секунду
То есть, этот меандр будит ваш МК?
Цитата:
Контроллер зависает намертво в спящем режиме второй раз за неделю,
Контроллер в спящем режиме (Power-down) и так всегда «весит», то есть "спит и ничего не делает", экономит энергию… вы наверное хотите сказать, что не могли его разбудить два раза за неделю? Дело в том, что для пробуждения МК необходимо удерживать низкий уровень на пине достаточное время, чтобы МК включил питание и запустил тактовый генератор (завершил полностью пробуждение). Если продолжительности уровня на пине не достаточно, то МК может и проснуться, но прерывание не будет сгенерировано. Обратите внимание в даташите какое время необходимо МК для полного пробуждения.
Уточните, от какого прерывания просыпается МК, от INT0 или от PCIE0?
ISR(PCINT0_vect)
Цитата:
То есть, этот меандр будит ваш МК?
Да, МК подключён к выходу пищалки в электронных часах и просыпается от такого сигнала.
Цитата:
Контроллер в спящем режиме (Power-down) и так всегда «весит», то есть "спит и ничего не делает", экономит энергию… вы наверное хотите сказать, что не могли его разбудить два раза за неделю?
Виснет так, что не разбудишь даже подачей постоянного уровня на пин, как будто прерывание не включилось при уходе в слип. Если конечно это вообще не аппаратные проблемы типа помех по питанию.
_________________ Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Виснет так, что не разбудишь даже подачей постоянного уровня на пин, как будто прерывание не включилось при уходе в слип. Если конечно это вообще не аппаратные проблемы типа помех по питанию.
На пьезо какое напряжение? Бывает их раскачивают...
Тогда (ИМХО) правильней использовать не регистр PCMSK в вашем случае, а регистр GIMSK (бит PCIE) для разрешения или запрета прерывания по маске пинов, а выбор пина (PCMSK) не трогать. Ну и не забывать при установке (PCIE), сбрасывать бит прерывания (PCIF).
Ну и сформировать достаточный временной потенциал для полного пробуждения МК.
Я имею ввиду входное напряжение. И пофигу ваши динамики.
3 В, как и на МК.
Цитата:
Тогда (ИМХО) правильней использовать не регистр PCMSK в вашем случае, а регистр GIMSK (бит PCIE) для разрешения или запрета прерывания по маске пинов, а выбор пина (PCMSK) не трогать. Ну и не забывать при установке (PCIE), сбрасывать бит прерывания (PCIF).
Попробую. Кстати, в даташите написано, что этот флаг сбрасывается записью в него единицы. Это не опечатка, надо писать именно единицу?
_________________ Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения