Точки останова в обработчиках ISR()
Библиотека Simple Dumping Monitor для Arduino-совместимых плат на базе микроконтрллеров ATmega позволяет выводить дампы регистров, таймеров и памяти RAM, Flash и EEPROM, а также дамп таблицы векторов прерываний.
О библиотеке Simple Dumping Monitor
Библиотекой версии 0.21 поддерживаются микроконтроллеры:
ATmega48P/88P/168P/328P -- платы Arduino
ATmega640/1280/1281/2560/2561 -- платы Arduino MEGA
ATmega16U4/32U4 -- платы Arduino Leonardo
ATmega164A/PA/324A/PA/644A/PA/1284/P -- платы Sanguino/Daiduino
Начиная с версии 0.6 в библиотеку добавлены функции простого символьного отладчика.
В скомпилированном виде библиотека занимает около 11 Кб памяти (около 15 Кб -- Arduino MEGA). Требования к ОЗУ (RAM) не превышают 1 Кбайт (277 байт для примера dumpmon.pde, 377 байт для примера dumpmonDebug.pde).
Установка библиотеки Simple Dumping Monitor
Для использования библиотеки, нужно скачать файл с архивом. В архиве находится папка DumpMon, которую нужно распаковать в директорий libraries директория с библиотеками Arduino IDE. В результате должно получиться libraries/DumpMon.
В папке DumpMon/Examples находится скетч dumpmonISR.ino -- пример использования точек останова в обработчике прерываний ISR().
Точки останова в обработчиках прерываний ISR()
Откройте скетч-пример dumpmonISR.ino. Код скетча содержит настройку таймера-счётчика 2 для вызова прерывания по переполнению TIMER2_OVF_vect в функции setup(), функцию цикла loop(), а также код функции-обработчика прерывания:
ISR(TIMER2_OVF_vect)
{
breakISR(dumpmon::timer2_ovf);
}
Скомпилируйте и загрузите скетч в микроконтроллер. Откройте Serial Monitor. Произошёл вызов точки останова с сообщением 'TIMER2_OVF interrupt'.
Воспользуйтесь одной из команд отладки N или G для перезапуска точки останова прерывания. Снова произошёл вызов точки останова с сообщением 'TIMER2_OVF interrupt'.
Используйте команду * для того, чтобы включать и выключать точки останова прерываний.
Скачать библиотеку Simple Dumping Monitor
Скачать библиотеку Simple Dumping Monitor можно в разделе Files проекта на сервере SourceForge.
Подробнее о выводе дампов с помощью библиотеки Simple Dumping Monitor можно прочитать в статье Дамп регистров, памяти, прерываний и таймеров Arduino,
про функции отладчика читайте в статье Отладка скетчей Arduino.
Автор: Андрей Шаройко <vanyamboe@gmail.com>