Передача данных по UART
![]() |
![]() |
| Си | |
| в палитре | на схеме |
Описание
Блок передачи данных через UART. Можно выбрать из двух вариантов отправки данных: программно (POLLING), в цикле рабочего алгоритма, либо используя DMA. Для работы DMA необходимо настроить соответствующий канал контроллера DMA в блоке init DMAx. Для корректной работы DMA в настройках канала необходимо выбрать размер данных памяти memory_width = 32bit, а размер данных периферии periph_width = 8bit. Адрес периферии UART можно узнать из спецификации на контроллер. Вариант с использованием DMA быстрее и разгружает процессор, однако не подходит для UART4 или если канал DMA занят другой периферией.
При кодогенерации используется стандартная библиотека GD32F10X v2.2.0, предоставляемая производителем микроконтроллеров GigaDevice. Подробные настройки можно найти в документации на микроконтроллер.
Входные порты
| Имя | Описание | Тип линии связи |
|---|---|---|
| tx_data | Вход массива данных для передачи или адреса массива данных, если включен DMA | Математическая |
Выходные порты
Блок не имеет выходных портов.
Свойства
| Название | Имя | Описание | По умолчанию | Тип данных |
|---|---|---|---|---|
| Выбор UART | UART | Возможные значения: "UART0", "UART1", "UART2", "UART3", "UART4" | UART0 | Перечисление |
| Длина данных, байт | SIZE | Возможные значения: целое число | 1 | Целое |
| Обработчик передающего буфера | HANDLER | Возможные значения: "POLLING", "UART_TX_DMA" | POLLING | Перечисление |
| Таймер задержки передачи | RX_CNT | Возможные значения: целое число, количество циклов алгоритма, после которого будет произведена передача данных (например вызовов алгоритма main) | 10 | Целое |
Параметры
Блок не имеет параметров.

