Проект Test_Driver.uvproj, который является результатом работы
генератора кода, расположен в директории /src/blcd_ctl/Test_Driver, где
/src директория исходников, указанная в настройках кодогенератора,
/blcd_ctl поддиректория в директории исходников, имя которой
определено в поле "Имя алгоритма", во вкладке параметры расчета проекта. Проект может быть
изменен пользователем. После сборки проекта и трансляции бинарного образа на целевую
систему, алгоритм будет выполняться с определенным временным тактом. Структура проекта:
Модуль инициализации startup_MDR32F9Qx.s для выбранной микросхемы.
Файл main.c включает исходные тексты алгоритмов и периодический цикл их
исполнения.
prog.h (содержит определения основных типов используемых переменных и констант и
определения глобальных переменных, а также определения подпрограмм обработчиков
прерываний от периферийных устройств), init.inc (инициализация переменных начальными
значениями, а так же вызовы инициализирующих функций периферийных устройств библиотеки
работы с устройствами ввода/вывода), state.inc, prog.inc сгенерированные тексты
алгоритмов на языке СИ.
Файлы драйверов устройств ввода/вывода расположенные в директории
/Libraries.
Инклуд-файлы содержащие библиотечные функции работающие с устройствами ввода вывода, к
ним происходит обращение из визуальных блоков библиотеки работы с устройствами ввода
вывода.
На рисунке представлен основной цикл выполнения алгоритма функции
main, перед его выполнением происходит вызов функций настройки генератора
тактовой частоты и инициализации переменных алгоритма INIT_FUNC(). Цикл
реализован в while последовательным вызовом функций
RUN_FUNC() и STATE_FUNC(), после вызова которых
происходит ожидание истечения временной задержки или прохождения периода ШИМ. Пользователь
самостоятельно может выбрать подходящий вариант, убрав комментарии соответствующих временных
функций (Delay_ms() или DelayTimer_pwm ()) в зависимости
от решаемой задачи.
Рис. 1. Структура проекта в Keil uVisionПеред основной функцией main() определены функции используемые в
основном цикле алгоритма и подключены инклуд-файлы, содержащие реализации функций работы с
устройствами ввода/вывода, их будут использовать библиотечные блоки работы с устройствами
ввода/вывода.