Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Лабораторная работа №1

Цель

В данной лабораторной работе будут изучены основы языка программирования C, базовые навыки работы с отладчиком среды разработки, а также программирование и загрузка программы в Учебный стенд.

Подготовка к работе

При подготовке к данной работе необходимо изучить основы программирования на языке C, научится компилировать и загружать программу.

Режим Учебного стенда и функциональная схема

Примеры c_lang и c_lang_str могут выполняться на симуляторе или на учебном стенде.

Для выполнения примера gpio следует установить переключатели S1 и S2 в положение 0 на учебном стенде. При этом должен загореться светодиод LED1 While LED, обозначающий режим стенда номер 0. Переключатели S3 и S4 также должны быть установлены в положении 0.

В этом режиме к выводам микроконтроллера PA0, PA1 подключены два потенциометра POT1 и POT2. Выводы микроконтроллера PA11-PA14 подключены к переключателям SW1-SW4. Выводы микроконтроллера PB4-PB7 подключены к тактовым кнопкам SB1-SB4. К выводам PC0-PC15 подключены 16 светодиодов D1-D16.

Описание задач

На лабораторной работе решаются три задачи:

  • c_lang - Язык программирования С. Простейшая программа для ознакомления с возможностями языка программирования С. Программу следует выполнять в отладчике по шагам с отслеживанием изменения состояния переменных.
  • gpio - Мигающий светодиод. Простейшая программа для включение и выключение светодиода. В программе происходит обращение к регистром специальных функций порта ввода/вывода для управления состояния светодиода.
  • c_lang_str - Строки в языке программирования C. Использование строк и потока вывода в языке C.

Перенаправление потока вывода stdout в окно отладки

Менеджер пакетов Run-Time Environment среды разработки имеет модуль Event Recorder, который позволяет печатать строки в окне Debug (printf) Viewer отладчика с помощью функции printf.

Для этого в менеджере пакетов Manage Run-Time Environment необходимо выбрать компонент Event Recorder и выбрать перенаправление stdout на EVR.

Event Recorder Selection

В исходном коде программы необходимо подключить модуль EventRecorder.h и провести его инициализацию вызвав функцию EventRecorderInitialize(EventRecordAll, 1);.

После этого можно использовать функцию printf из стандартной библиотеки stdio.h.

#include "stdio.h"
#include "EventRecorder.h"

int main(void)
{
    EventRecorderInitialize(EventRecordAll, 1);

    printf("Hello, world!\n");

    for(;;);
}

Для просмотра вывода необходимо открыть окно Debug (printf) Viewer в отладчике, выбрав View - Serial Windows - Debug (printf) Viewer.

Вывод printf:

Debug (printf) Viewer