2.4.md


ПРАВИЛА РАБОТЫ С КОНТРОЛЛЕРОМ «РУДИРОН»


ИЗБЕГАЕМ РАСПРОСТРАНЁННЫХ ОШИБОК НАЧИНАЮЩИХ


Это отдельный раздел нашего руководства по программированию контроллера. Очень часто новички хотят побыстрее запустить первую программу. Не обращают внимание на положение перемычек на контроллере, сообщениях об ошибках на экранах и т.д. В этом разделе мы собрали какие моменты необходимо учитывать при программировании и использовании контроллера.

В мире нет одинаковых вещей и явлений. Как говорится мир един в многообразии. Поэтому если даже Вы работали с подобными контроллерами необходимо изучить особенности данного устройства. Ну а если Вы полный новичок тем более будет полезно узнать подводные камни заранее.

ПРИМЕЧАНИЯ ПО РАБОТЕ С КОНТРОЛЛЕРОМ «РУДИРОН»


1 ОЧЕНЬ ВАЖНО При использовании внешнего питания сначала подключаем внешнее питание, а потом USB-кабель для связи или программирования. При выключении все делаем наоборот: сначала вытаскиваем USB-кабель, а затем внешнее питание. Несоблюдение данного правила может привести к выходу из строя платы Рудирон.

2 Частая проблема с загрузкой программы. Если мы попытаемся осуществить повторную загрузку программы во флеш-память, а перед этим была загружена программа и она начала исполняться на контроллере, то получим ошибку:

Рисунок 1

Помните мы говорили, что наша программа бесконечный цикл выполнения. Так вот когда наша программа выполняется контроллер не может быть загружен новой программой. Необходимо сбросить контроллер в ожидание загрузки новой программы. Делается это кнопкой NRST на плате контроллера.

Рисунок 1

3 После отключения USB шнура от компьютера и повторного его подключения программа не запускается. Это значит, что у вас установлена перемычка в такое положение:

001 UART загрузчик PRG|RUN Рисунок 1 Программа записывается в контроллер через USB-порт в режиме виртуального СОМ-порта.После загрузки программа начнет выполняться. После рестарта микроконтроллера включится режим ожидания записи, записанная программа выполняться не будет

Рисунок 1

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

101 Микрокон- троллер в ре- жиме отладки и запуска программы PRG| RUN Рисунок 1 Программа записывается в контроллер через отладочный интерфейс JTAG_A. При подключении питания программа сразу начинает выполнятся.

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

4 При подключении контроллера к компьютеру через USB-порт не происходит загрузка новой программы (перемычка из п.3 установлена правильно в положение «PRG»). Необходимо убедиться, что перемычка типа режима подключения USB-порта находится в правильном положении (перемычка в положении “СОМ”):

Рисунок 1

COM | USB Рисунок 1 USB-порт работает в режиме виртуального COM-порта
COM | USB Рисунок 1 USB-порт работает в режиме USB- подключения. Виртуальный СOM- порт отключен

5 Питание контроллера может осуществляться через USB разъем либо разъем JACK.

5 V (USB) Рисунок 1
6-12 V (JACK) Рисунок 1

Рекомендуется в начале использовать питание от USB порта так как все равно через этот порт мы записываем программу. Когда программа отлажена, и вы свое устройство должны протестировать в мобильном исполнении (без соединения с компьютером), то подключайте батарейный отсек через разъем JACK.

6 Работа кнопки В2 может иногда работать наоборот. Программа будет считать, что кнопка нажата, хотя вы ее не трогали. Это происходит из-за установки перемычки IRQ необходимой для работы радио модуля. Есть 2 варианта как программировать эту кнопку. Подробнее расписано будет в главе, посвященной работе с кнопками.

Рисунок 1

7 При работе с Arduino IDE выбирайте правильный тип подключенной платы «Инструменты – Плата Rudiron MDR32F9QX based boards»:

Рисунок 1

Название платы можно узнать, перейдя в меню «Инструменты – Получить информацию о плате».

Рисунок 1

Рисунок 1

В случае неправильного выбора платы скомпилировать и загрузить программу получится, но многие функции могут работать нештатно. Например, обмен данными через COM-порт будет происходить с ошибками и нечитаемыми данными.

8 При подключении внешних модулей (ESP, NRF, CAN, экран) нельзя использовать для подключения и работы следующие порты:

Наименование модуля Используемые порты
ESP8286 B6(13), B5(14)
CAN A5(8), D0(36), D1(37)
Экран A3(6), F0(3), F2(1), A1(4), F1(2), F3(0)

9 «Аналоговые порты A0 – A5 (21 – 26) не требуют первичной инициализации в разделе «Setup» программы, их необходимо использовать без инициализации. При объявлении (инициализации) данных портов в Setup не будет запускаться модуль NRF2401»

10 При возникновении ошибок при загрузке программы в флеш-память контроллера в среде разработке Visual Studio Code (такие ошибки могут проявляться на устаревших или медленных компьютерах) уменьшите скорость загрузки программы до 9600. Для этого необходимо откорректировать файл «имя проекта» \ «.vscode» \ “tasks.json” (в любом проекте местонахождение файла в Windows и Linux одинаково). Откройте данный файл редактором Visual Studio Code . В разделе настроек «Загрузить в флеш-память» поменяйте число «8» в параметре «speed» на «0». Сохраните файл. Результат изменения приведен на скриншоте ниже.

Рисунок 1