Мигание светодиодом по таймеру
Обновлено 31.05.2024В статье по первому запуску MIK32 мы запустили миганние светодиодом, задавая интервал в бесконечном цикле. Теперь исправим код в файле main.c так, чтобы светодиод мигал из прерывания по таймеру. Для этого в среде MikronIDE на панели Project Explorer скопируем наш проект blinky, и сохраним его под названием blinky_timer_irq. Затем откроем файл main.c, чтобы приступить к редактированию кода:
Копирование проекта
Теперь изменяем код следующим образом:
1) Включаем файл timer32.h, в котором содержатся определения констант для таймера:
Добавление заголовочного файла timer32.h
2) Включаем тактирование таймера32_0:
Включение тактирования таймера32_0
3) Настраиваем таймер32_0:
Настройка таймера32_0
4) Настраиваем контроллер прерываний:
Настройка контроллера прерываний
5) Включаем таймер:
Включение таймера32_0
6) Удаляем переключение светодиода из бесконечного цикла:
Удаление кода из бесконечного цикла
7) И добаляем обработчик прерывания от таймера:
Обработчик прерываний от таймера
Таким образом, у нас получился такой файл main.c:
На этом заканчиваем редактирование кода, нажимаем Project->Build Proiect. После успешной компилляции прошиваем плату, нажав Download and debug и Run:
Запуск отладки программы на отладочной плате
Как и раньше, светодиод на отладочной плате будет мигать и инвертироваться при нажатии кнопки. Но теперь мигание происходит по таймеру с интервалом ровно в 1 секунду.
Наверх Оглавление Следующая статья