Программный UART для любого микроконтроллера. Ч1
01/02/2012 - 22:15
Pavel Bobkov
Иногда возникает ситуация, когда аппаратных ресурсов микроконтроллера не хватает или требуемый ресурс в его составе отсутствует. Решить эту проблему можно двумя способами – заменить используемый микроконтроллер на другой или реализовать требуемый ресурс программно. Оба способа имеют свои достоинства и недостатки, однако второй вариант часто более предпочтительный, а иногда и единственно возможный. Например, как в случае с 1-Wire интерфейсом, который не поддерживается аппаратно ни в одном 8-ми разрядном микроконтроллере AVR.
В этой статье рассмотрена реализация программного UART`а, которую можно модифицировать под любой микроконтроллер, программируемый на Си.
Как избежать типичных багов встроенного ПО. ч.1
13/11/2011 - 16:05
Pavel Bobkov
Найэл Мерфи
Понимание ошибок программного и аппаратного обеспечения на примере других встраиваемых систем может помочь Вам идентифицировать, диагностировать и исправить ошибки в своей собственной системе.
Знаменитые ошибки – это своего рода военные истории разработчика ПО. В то время как остальные люди предпочли бы толочь воду в ступе, чем слушать историю, которая заканчивается словами "... и затем я понял, что эта переменная должна была быть 16-разрядным счетчиком, ха, ха, ха!", другим инженерам нравится слушать рассказы о злых шутках, которые сыграл с ними код. В этой статье мы исследуем наиболее коварные ошибки, с которыми я столкнулся за эти годы - иногда как автор, иногда как мастер по отладке, а иногда как заинтересованный наблюдатель.
Планировщик
02/11/2011 - 14:05
Pavel Bobkov
Стандартный путь построения программ для микроконтроллеров основывается на применении так называемого суперлупа (superloop). Он представляет собой бесконечный цикл, в теле которого запускаются различные функции. Функции могут запускаться постоянно или в случае выполнения каких-то условий, например установки флагов.
Программы, построенные на таком принципе, обычно используются для простых приложений с небольшим количеством задач, и в которых нет требований к таймингам.
Другой способ организации микроконтроллерных программ основан на применении планировщиков. Такие программы лучше структурированы, их проще модифицировать и они позволяют задавать время запуска задач.
В этой статье мы рассмотрим один из вариантов реализации простого планировщика.
Библиотека для опроса матричной клавиатуры 4x4 и 3х4
13/10/2011 - 05:03
Pavel Bobkov
Tagged under
Написал программный модуль для опроса матричной клавиатуры.
Особенности модуля:
Особенности модуля:
- простая интеграция с готовым проектом
- поддержка всех микроконтроллеров семейства mega
- возможность использования с любым из трех компиляторов IAR, GCC, CodeVision,
- поддержка клавиатур 4х4 и 3х4
- поддержка работы на общей шине
- возможность подключения к одному или двумя портами мк
- программная антидребезговая защита
- возможность установки произвольных кодов кнопок
Знакомство с замкнутой системой управления
09/10/2011 - 09:51
Pavel Bobkov
Tagged under
Barr Michael "Closed-Loop Control"
Многие встраиваемые системы реального времени применяются для управления объектами. Такие системы обычно используют обратную связь для получения информации о состоянии объекта.
Многие встраиваемые системы реального времени применяются для управления объектами. Такие системы обычно используют обратную связь для получения информации о состоянии объекта.
Обратная связь может быть реализована в виде аналогового датчика, предоставляющего системе данные о положении, напряжении, температуре, или любом другом подходящем параметре управляемого объекта.
Показания датчика считывается с помощью аналого-цифрового преобразователя, и каждый замер обеспечивает систему дополнительной информацией, на основе которой она принимает управляющие решения.