Аналогичная проблема. К портам PB0,PB2,PB3,PB4 подключены светодиоды, PB1(Int0) через резистор соединен с + и через кнопку - с землей. Мне надо чтобы он перешел в PowerDown а по прерыванию Int0 (по низкому уровню) помигал диодами и после этого перешел опять в sleep до следующего нажатия на кнопку.
Проблема в том что он никак не желает просыпаться. Без sleep'а все работает прекрасно: и внешнее прерывание и по таймеру.
Микросхема ATtiny13 программа на асме, проверял протеусом. Если надо могу выложить файлы.
А зачем в нем разбираться? Мне AVRstudio+proteus+даташиты вполне хватает. Только не всегда получается объединить) Кстати оно пока и не качается
Может я какие биты в MCUCR установил неправильно? У меня там 0b00110000 т.е. вроде SE=1 (разр спящий режим), SM=10 (PowerDown), ISC0=00 (прерывание по низкому уровню). Установил в начале и потом не трогаю. По прерыванию таймера переходит в Sleep а после этого реагирует только на ресет, хотя в ДШ написано что может выходить по "Only an External Reset, a Watchdog Reset, a Brown-out
Reset, an external level interrupt on INT0, or a pin change interrupt can wake up the MCU" Другие режимы (SM=00,01,10 и даже 11; ISC0=00,01,10,11) ведут себя также.
Возникла еще одна проблема: При попытке запрогать реальный кристалл я сдуру то ли выставил RSTdisable то ли снял SPIenable. Программатор STK500 есть но к нему проводов не хватает, придется сейчас самопальные делать) Ведь он высоковольтным ISP'ом запрогается?
А ведь он мог еще и пробиться статикой (он же мелкий, чем его держать) или температурой (такую мелочь паять как-то пока не привык)... Мне его уже самому жаль)