Точки останова в обработчиках 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.

Скачать DumpMon последней версии.

Подробнее о выводе дампов с помощью библиотеки Simple Dumping Monitor можно прочитать в статье Дамп регистров, памяти, прерываний и таймеров Arduino,

про функции отладчика читайте в статье Отладка скетчей Arduino.

Автор: Андрей Шаройко <vanyamboe@gmail.com>