Ловушки прерываний при программировании микроконтроллеров

Важное замечание по прерываниям, зависаниям и прочим "радостям" при написании программ для микроконтроллеров. Всякое бывает, но главное, на поиск ошибок порою уходит очень не мало времени.. Правильно сохраняйте и восстанавливайте регистр SREG В один момент вдруг девайс стал подвисать. Несколько раз выполнит команду и подвисает. Прошелся отладчиком, основной цикл крутится, но в прерывания не заходит. Флаг SREG...

Как подавить сообщения в IAR Embedded Workbench

#pragma diag_suppress=Pe217 Здесь то, на что не по делу ругается #pragma diag_default=Pe217 Здесь пускай проверяет дальше Вместо Pe217 подставляем коды мешающих варнингов. Можно несколько через запятую.

Директивы препроцессора Cи условной компиляции

Условная компиляция дает возможность программисту компилировать только нужные участки кода в зависимости от установленных условий программного кода.  Основные директивы препроцессора Си Подключение файлов #include — Вставляет текст из указанного файла. Макроопределения #define — Задаёт макроопределение (макрос) или символическую константу. #undef — Отменяет предыдущее определение символической константы. Условная компиляция #if — Осуществляет условную компиляцию, если константное...

Доработка конвектора Electrolux ECH/AG2-500 EF

Пару лет назад я приобрел несколько конвекторов Electrolux ECH/AG2-500 EF по 2000р. Недорогие обогреватели, приятный дизайн, да и имя производителя - Electrolux внушало доверие. Почитал отзывы в интернете, народ в основном расхваливал, ну разве что иногда жаловались на громкое переключение реле. Вообщем особых сомнений не было в моем выборе, это же не продукты «No name», покупая которые,...

Телевизор LG 42LF560V гаснет и зависает при включении режима спутник

Если у вас возникла похожая проблема с телевизором, не спешите обращаться в телемастерскую, возможно ваш вопрос решится за несколько минут! Жил-был телевизор LG 42LF560V Пару лет назад купили мы на дачу телевизор LG 42LF560V. В нем уже встроенный тюнер DVB T2 и главное, в нем есть слот CI+ для установки спутниковой карты - CAM модуль (Conditional Access...

Как отключить запоминание значений в INPUT, SELECT браузером?

Автозаполнение форм браузером помогает заполнять поля форм данными, которые были введены в них ранее. Бесспорно опция полезна, но в некоторых случаях ее лучше отключать. Связанные вопросы Как отключить автозаполнение форм? Как запретить браузеру запоминать значения поля формы? Как отключить память input-ов? Как отменить автоматическое запоминание вводимых в поле для ввода данных? Как отключить запоминание пароля? Отключение автозаполнения форм через...

iMakerTxtFile — Создание текстового файла в Mac OS X в один клик в нужной папке

Не секрет, что операционная система Mac OS X не позволяет стандартными средствами создать текстовый документ (.txt) одним легким движением прямо сразу в той папке, где мы находимся. Чтобы создать нужный текстовый файл, приходиться сначала запускать TextEdit, открывать новый документ и самое главное, чтобы его сохранить в нужной папке, приходится занового пройти весь путь через проводник...

Ошибка sh: 0: getcwd() failed: No such file or directory

Вопрос: Почему при выполнении какой либо команды у меня в консоли появляется ошибка: sh: 0: getcwd() failed: No such file or directory? Ответ: Вы пытаетесь запустить команду из директории, которой больше не существует. Чтобы проблема исчезла, необходимо просто перейти в какой-либо существующий каталог. Например в корень файловой системы: cd /

Как изменить папку для скриншотов в Mac OS X?

Скриншоты в Mac OS X, это настолько удобная вещь, что понимаешь это только тогда, когда по воле разного случая пересаживаешься временно на другую ОС. И дело не в привычке, как вы могли бы предположить. Все дело в том, что в компании Apple действительно предусмотрели для данной операции все, что только можно, чтобы это действие было...

Как задать интервал для автоматического сохранения текста в WordPress?

В корне вашего сайта на WordPress откройте файл wp-config.php и добавьте строчку кода: define('AUTOSAVE_INTERVAL', 600); Где значение 600, это 10 мин. Вы можете указать любое свое значение. Значения константы AUTOSAVE_INTERVAL указывается в секундах.