Есть МК ATTiny13. К ноге PB1/INT0 подключена кнопка (еще через резистор эта ножка подключена к GND, чтобы создавать лог. "0", пока кнопка не нажата). Требуется по нажатию этой кнопки переводить МК в спящий режим (Power down), а при последующем нажатии выводить из него.
В таком случае МК как бы отрубается(но не факт), но через мгновение снова включается (если верить дебагеру AVRStudio, то после пробуждения программа начинает работать с самого начала). Если убрать sei(), то МК засыпает и уже ни на что, кроме сброса питания не реагирует. Помогите пожалуйста, что я делаю не так?
для INT0 пробуждение возможно только по запросу "низкий уровень на INT0", а у вас низкий там постоянно. переделайте на пробуждение по PCINT1 - там можно настроить на запрос по любому уровню.
ну и не забывайте, что кнопка - это источник дребезга, так что и при засыпании, и при пробуждении с ним надо бороться.
P.S. во многих случаях удобно пробуждаться именно по сбросу - кнопку на вывод 1 ставить.
битва с дураками проиграна, победители торжествуют. слава победителям!
Доброе время суток! Изучая исходники наткнулся на непонятное(пока) для меня определение
uchar usbInputBufOffset; uchar usbDeviceAddr; я так понимаю это обявляются переменные
а что это за uchar и ещё встречаются schar подскажите пожалуйста.
Пишут что на WinAvr было создано это дело.
TICLIR писал(а):Доброе время суток! Изучая исходники наткнулся на непонятное(пока) для меня определение
uchar usbInputBufOffset; uchar usbDeviceAddr; я так понимаю это обявляются переменные
а что это за uchar и ещё встречаются schar подскажите пожалуйста.
Пишут что на WinAvr было создано это дело.
ищите эти определения в подключаемых хидерах в проекте. скорее всего uchar это unsigned char...
битва с дураками проиграна, победители торжествуют. слава победителям!
TICLIR писал(а):Доброе время суток! Изучая исходники наткнулся на непонятное(пока) для меня определение
uchar usbInputBufOffset; uchar usbDeviceAddr; я так понимаю это обявляются переменные
а что это за uchar и ещё встречаются schar подскажите пожалуйста.
Пишут что на WinAvr было создано это дело.
ищите эти определения в подключаемых хидерах в проекте. скорее всего uchar это unsigned char...
Ну точно, в заголовочном файле и обнаружил
#define schar signed char; #define uchar unsigned char;
благодарю за помощ!
Подозреваю что данный вопрос обсуждался уже 100500 раз. Но у меня нет сил просматривать все 40 страниц данной темы.
Обьясните кто-нибудь придурку (то бишь мне), что делать с линуксовым файлом Makefile, лежащим во многих проектах, написанных под WinAVR? Чем его открывать?
alexx82 писал(а):Обьясните кто-нибудь придурку (то бишь мне), что делать с линуксовым файлом Makefile, лежащим во многих проектах, написанных под WinAVR? Чем его открывать?
открывать этот файл надо текстовым редатором, хоть бы и notepad-ом. это если вам нужно внести в него изменения. а если собрать проект, то ничего открывать не надо, надо (имея корректно установленный WinAVR) просто открыть папку, в которой есть makefile и выполнить из командной строки команду make all. то есть, если ваш проект находится в папке C:\MyPrj, надо открыть консоль (запуск cmd.exe) и ввести следующее: cd c:\myprj
make all
битва с дураками проиграна, победители торжествуют. слава победителям!
в командной строке компилятору надо указать -ffunction-sections -Wl,-gc-sections внимание! надо вводить точно так, как тут написано, не добавлять пробелов, не менять регистр и т.п. самодеятельности. если работаете в AVR Studio, эти ключики надо указать в дополнительных настройках проекта - первый для компилятора, второй для компоновщика. результат вас поразит
битва с дураками проиграна, победители торжествуют. слава победителям!
Доброе время суток! Вопросик так себе! При открывание WinAvr , если программа для контроллера большая, то для компактности
приходится давить на минусики что бы свернулись некоторые функции или массивы , а может просто надо где нибудь поставить или убрать галочку , что бы при открывании они сразу уже были свёрнуты.
TICLIR писал(а):Доброе время суток! Вопросик так себе! При открывание WinAvr , если программа для контроллера большая, то для компактности
приходится давить на минусики что бы свернулись некоторые функции или массивы , а может просто надо где нибудь поставить или убрать галочку , что бы при открывании они сразу уже были свёрнуты.
И всё-таки я нашёл как это сделать - View/Folding/Collapse All Folds