/*************************************************************************************************************
  Copyright (C) 2016-2022 JSC "ICC Milandr" 

*************************************************************************************************************/

/*
 *
 *  Файл:      readme.txt
 *  Описание:  Описание примера TIMER_Interrupt
 *
 *  История:
 *             27.09.22  - cоздан
 *
 */


/* Описание примера ----------------------------------------------------------------------------------------*/

В данном примере приведено, как настроить таймеры для формирования запросов прерываний с определённой частотой. 

Для установки периода таймеров используется макроопределение CCLK_HZ, значение которого задаётся в настройках 
проекта, пункт "C/C++ Build -> Settings -> Hardware -> Core Clock (CCLK), Hz".
При инициализации частота формирования запросов прерывания от таймера 0 устанавливается равной 2 Гц, а от 
таймера 1 равной 4 Гц. В обработчиках прерывания от таймеров 0 и 1 включаются и выключаются светодиоды FLAG0 и 
FLAG1, при этом частота мигания FLAG0 составляет 1 Гц, а FLAG1 - 2 Гц.

Обратите внимание, что функцию обработчика прерывания необходимо объявлять с атрибутом __attribute((interrupt)).
В этом случае исполняемый обработчик прерывания не может быть прерван другим прерыванием, даже более 
высокоприоритетным.
Если в программе требуется, чтобы исполняемый обработчик прерывания мог быть прерван более высокоприоритетным
прерыванием, то такой обработчик прерывания необходимо объявить с другим атрибутом, а именно 
__attribute__((interrupt("reentrant"))).


/* Содержание каталога -------------------------------------------------------------------------------------*/

    - main.c               Основная программа
    - project.ldf          Файл сценария для компоновщика
    - session.lldbinit     Файл инициализации периферии до запуска отладки
    - .cproject, .project  Файлы конфигурации проекта


/* Аппаратная и программная среда --------------------------------------------------------------------------*/

    - Интегрированная среда разработки CM-LYNX.
    - Отладочная плата для процессора 1967ВН028 или программный симулятор процессора 1967ВН028.


/* Использование -------------------------------------------------------------------------------------------*/

Для запуска примера необходимо выполнить следующие действия:
    - Создать новое или открыть существующее рабочее пространство (Workspace).
    - Выполнить импорт проекта "TIMER_Interrupt" в соответствии с "ML_GUI_Руководство_пользователя_R_Vx", 
      п. "Импорт существующего проекта".
    - Выполнить сборку проекта.
    - Создать конфигурацию отладки в соответствии с "ML_GUI_Руководство_пользователя_R_Vx", п. "Настройка 
      конфигурации и запуск отладки".
    - Запустить пример в режиме отладки.

Подробное описание библиотеки HAL с примерами использования функций приведено в каталоге по пути:
"CM-LYNX.x.yy.zz\toolchain\1967VN028\HAL\doc".
