Прием данных по UART

| Си |
в палитре на схеме

Блок приема данных UART. Первый байт посылки - magic word 0x81, два последних байта в посылке - контрольная сумма CRC16. Релизовано три варианта работы с UART: простой опрос в цикле - polling, по прерыванию IRQ и DMA. Опрос в цикле надежный и простой, но наиболее ресурсоемкий вариант, можно использовать если не требуется большая скорость работы. Возможны потери данных на высокой скорости обмена. Прием сообщений по прерыванию позволяет работать на более высоких скоростях обмена, однако отправка ответного сообщения занимает процессорное время и может прерываться, что иногда приводит к потере данных. Использование DMA на прием и отправку существенно разгружает процессор и является оптимальным вариантом в случае, если линии DMA не заняты другой периферией и требуется быстродействие. UART4 не может работать через DMA.

При кодогенерации используется стандартная библиотека GD32F10X v2.2.0, предоставляемая производителем микроконтроллеров GigaDevice. Подробные настройки можно найти в документации на микроконтроллер.

Входные порты

Имя Описание Тип линии связи
sort_block Вход сортировки блока Математическая

Выходные порты

Имя Описание Тип линии связи
rx_data Выход массива принятых целых данных Математическая

Свойства

Название Имя Описание По умолчанию Тип данных
Выбор UART UART Возможные значения: «UART0», «UART1», «UART2», «UART3», «UART4» UART0 Перечисление
Длина данных, байт SIZE Возможные значения: целое число 1 Целое
Обработчик приемного буфера (UART4 не поддерживает работу c DMA) HANDLER Возможные знаечения: «POLLING», «UART_RX_IRQ», «UART_RX_DMA» POLLING Перечисление

Параметры

Блок не имеет параметров.