Урок 2. Последовательный порт UART в Maixduino/K210

На плате Maixduino есть 3 последовательных порта (UART): "/dev/uart1", "/dev/uart2" и "/dev/uart3".  Первый порт ("/dev/uart1") используется FreeRTOS как порт для отладки и прошивки. По этому не рекомендуется использовать, а два других порта можно использовать для обмена данными с внешними устройствами.

В этом уроке настроим последовательный порт (UART), напишем пример программы и будем передавать данные между Maixduino и компьютером.

Настройка UART порта

Перед использованием последовательного порта его необходимо настроить. Сначала в файле project_cfg.h мы устанавливаем контакты (пины) Rx и Tx. Более подробно о настройке выходов / входов вы можете прочитать в первом уроке: Урок 1. Кнопка, светодиод. Функции управления вводом/выводом. Первая программа.

Rx и Tx устанавлны на контакты 13 и 14 соответственно.

Урок 2. Последовательный порт UART в Maixduino/K210 - Rx и Tx пины

После этого необходимо открыть устройство uart2 с помощью функции io_open.

И наконец настраиваем скорость COM порта, биты данных, количество стоп-бит и бит четности.

Также задаём тайм-аут для чтения:

Примеры программ с UART

Напоследок приведу пример программы. В этой программе мы настроим выходной контакт, на этот контакт будет установлен светодиод, который будет мигать с определенным интервалом. Порт UART2 также будет настроен для обмена данными между Maixduino и компьютером. Миганть светодиодом будет задача static void blinkLedTask(void *pvParameters), принимать и передать данных по UART — static void uartTask(void *pvParameters).

Всё это дело выглядит следующим образом:

Урок 2. Последовательный порт UART в Maixduino (K210) - Подключение

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

Схема подключения

Светодиод подключается на 13-й контакт Maixduino/Arduino через резистор, ограничивающий ток. Преобразователь USB-UART подключается к контактам 8 и 9, Rx и Tx соответственно. В качестве конвертера можно использовать: PL2303, CH340, CP2102 или любой другой доступный.

 

Урок 2. Последовательный порт UART в Maixduino/K210 - Схема подключения

Файл project_cfg.h

Файл main.cpp

Результат

После компиляции программы и прошивки контроллера подключаемся к компьютеру через конвертер USB-UART. Открываем Arduino IDE, выбираем порт, который соответствует преобразователю, и открываем монитор порта.

Если нажать кнопку «RESET«, в консоли должно появиться сообщение «hello uart!«.

Урок 2. Последовательный порт UART в Maixduino/K210 - Монитор порта ArduinoПосле появления сообщения мы можем отправить несколько символов (к примеру 1235467890), и мы получим эти символы обратно.

Материалы

Kendryte · GitHub
Maixduino-4.30(schematic)
Maixduino — одноплатный компьютер с ускорителем AI, RISC-V AI, форм-фактор Arduino и беспроводной модуль ESP32

Похожие записи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *