Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
Структуры данных | Макросы | Перечисления | Функции
Файл uart.h

Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с аппаратным модулем UART. Подробнее...

#include "types.h"
#include "ringbuffer.h"

См. исходные тексты.

Структуры данных

struct  UART_T
 Структура для доступа к регистрам UART. Подробнее...
 

Макросы

#define UART_DR_MASK_DATA   ((uint32_t)(0x00FF))
 
#define UART_DR_DATA(x)   ((uint32_t)((x) & 0xFF))
 Макросы для регистра DR. Подробнее...
 
#define UART_DR_FE   ((uint32_t)(1 << 8))
 
#define UART_DR_PE   ((uint32_t)(1 << 9))
 
#define UART_DR_BE   ((uint32_t)(1 << 10))
 
#define UART_DR_OE   ((uint32_t)(1 << 11))
 
#define UART_IBRD_BAUDDIV_INT(x)   ((uint32_t)(x & 0xFFFF))
 Макросы для регистра UARTBIRD. Подробнее...
 
#define UART_FBRD_BAUDDIV_FRAC(x)   ((uint32_t)(x & 0x1F))
 Макросы для регистра UARTx_FBRD. Подробнее...
 
#define UART_LCR_H_BRK   ((uint32_t)(1 << 0))
 Макросы и типы для регистра UARTx_LCR_H. Подробнее...
 
#define UART_LCR_H_PEN   ((uint32_t)(1 << 1))
 
#define UART_LCR_H_PDIS   ((uint32_t)(0 << 1))
 
#define UART_LCR_H_EPS_EVEN   ((uint32_t)(1 << 2))
 
#define UART_LCR_H_EPS_ODD   ((uint32_t)(0 << 2))
 
#define UART_LCR_H_STP2   ((uint32_t)(1 << 3))
 
#define UART_LCR_H_STP1   ((uint32_t)(0 << 3))
 
#define UART_LCR_H_FEN   ((uint32_t)(1 << 4))
 
#define UART_LCR_H_FDIS   ((uint32_t)(0 << 4))
 
#define UART_LCR_H_SPS_EN   ((uint32_t)(1 << 7))
 
#define UART_LCR_H_SPS_DIS   ((uint32_t)(0 << 7))
 
#define UART_CR_UARTEN   ((uint32_t)(1 << 0))
 
#define UART_CR_LBE   ((uint32_t)(1 << 7))
 
#define UART_CR_TXE   ((uint32_t)(1 << 8))
 
#define UART_CR_RXE   ((uint32_t)(1 << 9))
 
#define UART_CR_BITMASK   ((uint32_t)(0x381))
 
#define UART_DMACR_DMAONERR   ((uint32_t)(1 << 2))
 
#define BAUDRATE_921600   (921600)
 
#define BAUDRATE_460800   (460800)
 
#define BAUDRATE_230400   (230400)
 
#define BAUDRATE_115200   (115200)
 
#define BAUDRATE_57600   (57600)
 
#define BAUDRATE_38400   (38400)
 
#define BAUDRATE_19200   (19200)
 
#define BAUDRATE_14400   (14400)
 
#define BAUDRATE_9600   (9600)
 
#define BAUDRATE_2400   (2400)
 
#define BAUDRATE_1200   (1200)
 
#define BAUDRATE_110   (110)
 

Перечисления

enum  UART_REC_STATUS_T { UART_RSR_FE = ((uint32_t)(1 << 0)), UART_RSR_PE = ((uint32_t)(1 << 1)), UART_RSR_BE = ((uint32_t)(1 << 2)), UART_RSR_OE = ((uint32_t)(1 << 3)) }
 Макросы и типы для регистра RSR_ECR. Подробнее...
 
enum  UART_STATUS_T {
  UART_FR_BUSY = ((uint32_t)(1 << 3)), UART_FR_RXFE = ((uint32_t)(1 << 4)), UART_FR_TXFF = ((uint32_t)(1 << 5)), UART_FR_RXFF = ((uint32_t)(1 << 6)),
  UART_FR_TXFE = ((uint32_t)(1 << 7)), UART_FR_RI = ((uint32_t)(1 << 8))
}
 Макросы и типы для регистра FR. Подробнее...
 
enum  UART_WLEN { UART_LCR_H_WLEN5 = ((uint32_t)(0 << 5)), UART_LCR_H_WLEN6 = ((uint32_t)(1 << 5)), UART_LCR_H_WLEN7 = ((uint32_t)(2 << 5)), UART_LCR_H_WLEN8 = ((uint32_t)(3 << 5)) }
 
enum  UART_IFLS {
  UART_IFLS_1DIV8 = ((uint32_t)(0 << 0)), UART_IFLS_1DIV4 = ((uint32_t)(1 << 0)), UART_IFLS_1DIV2 = ((uint32_t)(2 << 0)), UART_IFLS_3DIV4 = ((uint32_t)(3 << 0)),
  UART_IFLS_7DIV8 = ((uint32_t)(4 << 0))
}
 Тип UART_IFLS для регистра UARTx_IFLS. Подробнее...
 
enum  UART_INTMASK_T {
  UART_IMSC_RXIM = ((uint32_t)(1 << 4)), UART_IMSC_TXIM = ((uint32_t)(1 << 5)), UART_IMSC_RTIM = ((uint32_t)(1 << 6)), UART_IMSC_FEIM = ((uint32_t)(1 << 7)),
  UART_IMSC_PEIM = ((uint32_t)(1 << 8)), UART_IMSC_BEIM = ((uint32_t)(1 << 9)), UART_IMSC_OEIM = ((uint32_t)(1 << 10)), UART_IMSC_BITMASK = ((uint32_t)(0x7F << 4))
}
 Макросы и типы для регистра UARTx_IMSC. Подробнее...
 
enum  UART_INTSTATUS_T {
  UART_RIS_RXRIS = ((uint32_t)(1 << 4)), UART_RIS_TXRIS = ((uint32_t)(1 << 5)), UART_RIS_RTRIS = ((uint32_t)(1 << 6)), UART_RIS_FERIS = ((uint32_t)(1 << 7)),
  UART_RIS_PERIS = ((uint32_t)(1 << 8)), UART_RIS_BERIS = ((uint32_t)(1 << 9)), UART_RIS_OERIS = ((uint32_t)(1 << 10)), UART_RIS_BITMASK = ((uint32_t)(0x7F << 4))
}
 Макросы и типы для регистра UARTx_RIS. Подробнее...
 
enum  UART_MASKINTSTATUS_T {
  UART_MIS_RXMIS = ((uint32_t)(1 << 4)), UART_MIS_TXMIS = ((uint32_t)(1 << 5)), UART_MIS_RTMIS = ((uint32_t)(1 << 6)), UART_MIS_FEMIS = ((uint32_t)(1 << 7)),
  UART_MIS_PEMIS = ((uint32_t)(1 << 8)), UART_MIS_BEMIS = ((uint32_t)(1 << 9)), UART_MIS_OEMIS = ((uint32_t)(1 << 10)), UART_MIS_BITMASK = ((uint32_t)(0x7F << 4))
}
 Макросы и типы для регистра UARTx_MIS. Подробнее...
 
enum  UART_INTCLEAR_T {
  UART_ICR_RXIC = ((uint32_t)(1 << 4)), UART_ICR_TXIC = ((uint32_t)(1 << 5)), UART_ICR_RTIC = ((uint32_t)(1 << 6)), UART_ICR_FEIC = ((uint32_t)(1 << 7)),
  UART_ICR_PEIC = ((uint32_t)(1 << 8)), UART_ICR_BEIC = ((uint32_t)(1 << 9)), UART_ICR_OEIC = ((uint32_t)(1 << 10)), UART_ICR_BITMASK = ((uint32_t)(0x7F << 4))
}
 Макросы и типы для регистра UARTx_ICR. Подробнее...
 
enum  UART_DMACR_T { UART_DMACR_RXDMAE = ((uint32_t)(1 << 0)), UART_DMACR_TXDMAE = ((uint32_t)(1 << 1)), UART_DMACR_DMAONERR = ((uint32_t)(1 << 2)), UART_DMACR_BITMASK = ((uint32_t)(3 << 0)) }
 Макросы и типы для регистра UARTx_DMACR. Подробнее...
 

Функции

void UART_TXEnable (UART_T *pUART)
 Разрешение работы передатчика Подробнее...
 
void UART_TXDisable (UART_T *pUART)
 запрещение работы передатчика Подробнее...
 
void UART_RXEnable (UART_T *pUART)
 Разрешение работы приемника Подробнее...
 
void UART_RXDisable (UART_T *pUART)
 запрещение работы приемника Подробнее...
 
void UART_Enable (UART_T *pUART)
 Разрешение работы UART. Подробнее...
 
void UART_Disable (UART_T *pUART)
 запрещение работы UART. Подробнее...
 
void UART_SendByte (UART_T *pUART, uint8_t data)
 Передача одного байта по UART'у Подробнее...
 
uint8_t UART_ReadByte (UART_T *pUART)
 Прием одного байта по UART'у Подробнее...
 
void UART_IntEnable (UART_T *pUART, UART_INTMASK_T IntMask)
 Разрешение прерываний по UART'у Подробнее...
 
void UART_IntDisable (UART_T *pUART, UART_INTMASK_T IntMask)
 Запрещение прерываний по UART'у Подробнее...
 
uint32_t UART_GetRawIntStatus (UART_T *pUART, UART_MASKINTSTATUS_T MaskInt)
 Получение статуса прерывания Подробнее...
 
uint32_t UART_GetIntStatus (UART_T *pUART, UART_MASKINTSTATUS_T MaskInt)
 Получение статуса маскированного прерывания Подробнее...
 
void UART_ClearIntPending (UART_T *pUART, UART_INTCLEAR_T IntClear)
 Сброс флагов прерываний Подробнее...
 
void UART_SetupFIFOS (UART_T *pUART, UART_IFLS rxfifolimit, UART_IFLS txfifolimit)
 Установка порогов прерываний по заполнению буфера приемника/передатчика Подробнее...
 
void UART_Config (UART_T *pUART, uint32_t config)
 Установка длины слова данных, числа стоповых бит и контроля четности Подробнее...
 
void UART_SetDivisor (UART_T *pUART, uint32_t IBRD, uint32_t FBRD)
 Установка делителя скорости передачи данных Подробнее...
 
FlagStatus UART_GetStatus (UART_T *pUART, UART_STATUS_T Stat)
 Получение текущего статуса UART контроллера Подробнее...
 
void UART_Init (UART_T *pUART)
 Инициализация UART. Подробнее...
 
void UART_DeInit (UART_T *pUART)
 Деинициализация UART. Подробнее...
 
uint32_t UART_SetBaud (UART_T *pUART, uint32_t baud, const uint32_t sys_freq)
 Установка целой и дробной частей делителя для получения заданной скорости последовательного обмена Подробнее...
 
uint32_t UART_Send (UART_T *pUART, const void *data, uint32_t numBytes)
 Передача массива байт по UART'у, без ожидания освобождения FIFO передатчика Подробнее...
 
uint32_t UART_Read (UART_T *pUART, void *data, uint32_t numBytes)
 Прием массива байт по UART'у, без ожидания заполнения указанного массива полностью Подробнее...
 
uint32_t UART_SendBlocking (UART_T *pUART, const void *data, uint32_t numBytes)
 Передача массива байт по UART'у, с ожиданием освобождения FIFO передатчика Подробнее...
 
uint32_t UART_ReadBlocking (UART_T *pUART, void *data, uint32_t numBytes)
 Прием массива байт по UART'у, с ожиданием заполнения указанного массива полностью Подробнее...
 
void UART_RXIntHandlerRB (UART_T *pUART, RINGBUFF_T *pRB)
 Обработчик прерывания UART по приему данных для кольцевых буферов Подробнее...
 
void UART_TXIntHandlerRB (UART_T *pUART, RINGBUFF_T *pRB)
 Обработчик прерывания UART по передаче данных для кольцевых буферов Подробнее...
 
void UART_IRQRBHandler (UART_T *pUART, RINGBUFF_T *pRXRB, RINGBUFF_T *pTXRB)
 Обработчик прерывания UART по приему/передаче данных для кольцевых буферов Подробнее...
 
uint32_t UART_SendRB (UART_T *pUART, RINGBUFF_T *pRB, const void *data, uint32_t bytes)
 Запись данных в кольцевой буфер и начало передачи Подробнее...
 
uint32_t UART_ReadRB (UART_T *pUART, RINGBUFF_T *pRB, void *data, uint32_t bytes)
 Чтение данных из кольцевого буфера после приема Подробнее...
 

Подробное описание

Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с аппаратным модулем UART.

Copyright(C) НПП Цифровые решения, 2017 Copyright(C) Команда разработчиков НПП Цифровые решения Все права защищены.

Программное обеспечение, описанное в этом файле, предназначено только для демонстрационных целей, и предоставляет программистам информацию о продукции организации "Цифровые решения". Это программное обеспечение поставляется "КАК ЕСТЬ" без каких-либо гарантий, "Цифровые решения" отказываются от любых гарантий, фактических или подразумеваемых, включая все подразумеваемые гарантии товарной пригодности, пригодности для конкретной цели и сохранения прав интеллектуальной собственности. Органицация "Цифровые решения" не несет никакой ответственности за использование программного обеспечения, не предоставляет лицензий или прав на патент, авторское право, или любые другие права интеллектуальной собственности, на какие-либо продукты. Организация "Цифровые решения" оставляет за собой право вносить изменения в программное обеспечение без уведомления. Организация "Цифровые решения" также не дает никаких заверений или гарантий, что это программное приложение подойдет для использования без дальнейшего тестирования или модификаций.

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

См. определение в файле uart.h

Макросы

§ BAUDRATE_110

#define BAUDRATE_110   (110)

110 (бит/с)

См. определение в файле uart.h строка 230

§ BAUDRATE_115200

#define BAUDRATE_115200   (115200)

115200 (бит/с)

См. определение в файле uart.h строка 222

§ BAUDRATE_1200

#define BAUDRATE_1200   (1200)

1200 (бит/с)

См. определение в файле uart.h строка 229

§ BAUDRATE_14400

#define BAUDRATE_14400   (14400)

14400 (бит/с)

См. определение в файле uart.h строка 226

§ BAUDRATE_19200

#define BAUDRATE_19200   (19200)

19200 (бит/с)

См. определение в файле uart.h строка 225

§ BAUDRATE_230400

#define BAUDRATE_230400   (230400)

230400 (бит/с)

См. определение в файле uart.h строка 221

§ BAUDRATE_2400

#define BAUDRATE_2400   (2400)

2400 (бит/с)

См. определение в файле uart.h строка 228

§ BAUDRATE_38400

#define BAUDRATE_38400   (38400)

38400 (бит/с)

См. определение в файле uart.h строка 224

§ BAUDRATE_460800

#define BAUDRATE_460800   (460800)

460800 (бит/с)

См. определение в файле uart.h строка 220

§ BAUDRATE_57600

#define BAUDRATE_57600   (57600)

57600 (бит/с)

См. определение в файле uart.h строка 223

§ BAUDRATE_921600

#define BAUDRATE_921600   (921600)

921600 (бит/с)

См. определение в файле uart.h строка 219

§ BAUDRATE_9600

#define BAUDRATE_9600   (9600)

9600 (бит/с)

См. определение в файле uart.h строка 227

§ UART_CR_BITMASK

#define UART_CR_BITMASK   ((uint32_t)(0x381))

См. определение в файле uart.h строка 133

§ UART_CR_LBE

#define UART_CR_LBE   ((uint32_t)(1 << 7))

разрешение работы в режиме loopback

См. определение в файле uart.h строка 130

§ UART_CR_RXE

#define UART_CR_RXE   ((uint32_t)(1 << 9))

разрешение работы приемника

См. определение в файле uart.h строка 132

§ UART_CR_TXE

#define UART_CR_TXE   ((uint32_t)(1 << 8))

разрешение работы передатчика

См. определение в файле uart.h строка 131

§ UART_CR_UARTEN

#define UART_CR_UARTEN   ((uint32_t)(1 << 0))

разрешение работы приемопередатчика

См. определение в файле uart.h строка 129

§ UART_DMACR_DMAONERR

#define UART_DMACR_DMAONERR   ((uint32_t)(1 << 2))

разрешение блокировки запросов DMA от приемника UARTRXDMASREQ и UARTRXDMABREQ в случае возникновения прерывания по обнаружению ошибки

См. определение в файле uart.h строка 218

§ UART_DR_BE

#define UART_DR_BE   ((uint32_t)(1 << 10))

разрыв линии

См. определение в файле uart.h строка 64

§ UART_DR_DATA

#define UART_DR_DATA (   x)    ((uint32_t)((x) & 0xFF))

Макросы для регистра DR.

принимаемые/передаваемые данные

См. определение в файле uart.h строка 61

§ UART_DR_FE

#define UART_DR_FE   ((uint32_t)(1 << 8))

ошибка в структуре кадра

См. определение в файле uart.h строка 62

§ UART_DR_MASK_DATA

#define UART_DR_MASK_DATA   ((uint32_t)(0x00FF))

маскирование данных без статуса для регистра данных DR

См. определение в файле uart.h строка 35

§ UART_DR_OE

#define UART_DR_OE   ((uint32_t)(1 << 11))

переполнение буфера приемника

См. определение в файле uart.h строка 65

§ UART_DR_PE

#define UART_DR_PE   ((uint32_t)(1 << 9))

ошибка контроля четности

См. определение в файле uart.h строка 63

§ UART_FBRD_BAUDDIV_FRAC

#define UART_FBRD_BAUDDIV_FRAC (   x)    ((uint32_t)(x & 0x1F))

Макросы для регистра UARTx_FBRD.

дробная часть коэффициента деления

См. определение в файле uart.h строка 100

§ UART_IBRD_BAUDDIV_INT

#define UART_IBRD_BAUDDIV_INT (   x)    ((uint32_t)(x & 0xFFFF))

Макросы для регистра UARTBIRD.

целая часть коэффициента деления

См. определение в файле uart.h строка 95

§ UART_LCR_H_BRK

#define UART_LCR_H_BRK   ((uint32_t)(1 << 0))

Макросы и типы для регистра UARTx_LCR_H.

разрыв линии

См. определение в файле uart.h строка 105

§ UART_LCR_H_EPS_EVEN

#define UART_LCR_H_EPS_EVEN   ((uint32_t)(1 << 2))

дополнение до четного

См. определение в файле uart.h строка 108

§ UART_LCR_H_EPS_ODD

#define UART_LCR_H_EPS_ODD   ((uint32_t)(0 << 2))

дополнение до нечетного

См. определение в файле uart.h строка 109

§ UART_LCR_H_FDIS

#define UART_LCR_H_FDIS   ((uint32_t)(0 << 4))

запрещение работы буфера FIFO приемника и передатчика

См. определение в файле uart.h строка 113

§ UART_LCR_H_FEN

#define UART_LCR_H_FEN   ((uint32_t)(1 << 4))

разрешение работы буфера FIFO приемника и передатчика

См. определение в файле uart.h строка 112

§ UART_LCR_H_PDIS

#define UART_LCR_H_PDIS   ((uint32_t)(0 << 1))

запрещение проверки четности

См. определение в файле uart.h строка 107

§ UART_LCR_H_PEN

#define UART_LCR_H_PEN   ((uint32_t)(1 << 1))

разрешение проверки четности

См. определение в файле uart.h строка 106

§ UART_LCR_H_SPS_DIS

#define UART_LCR_H_SPS_DIS   ((uint32_t)(0 << 7))

запрещение передачи бита четности с фиксированным значением

См. определение в файле uart.h строка 124

§ UART_LCR_H_SPS_EN

#define UART_LCR_H_SPS_EN   ((uint32_t)(1 << 7))

разрешение передачи бита четности с фиксированным значением

См. определение в файле uart.h строка 123

§ UART_LCR_H_STP1

#define UART_LCR_H_STP1   ((uint32_t)(0 << 3))

режим передачи одного стопового бита

См. определение в файле uart.h строка 111

§ UART_LCR_H_STP2

#define UART_LCR_H_STP2   ((uint32_t)(1 << 3))

режим передачи двух стоповых бит

См. определение в файле uart.h строка 110

Перечисления

§ UART_DMACR_T

Макросы и типы для регистра UARTx_DMACR.

Элементы перечислений
UART_DMACR_RXDMAE 

разрешение использования DMA при приеме

UART_DMACR_TXDMAE 

разрешение использования DMA при передаче

UART_DMACR_DMAONERR 

Если бит установлен в 1, то в случае возникновения прерывания по обнаружению ошибки блокируются запросы DMA от приемника UARTRXDMASREQ и UARTRXDMABREQ.

UART_DMACR_BITMASK 

разрешение использования DMA при приеме и передаче

См. определение в файле uart.h строка 210

§ UART_IFLS

enum UART_IFLS

Тип UART_IFLS для регистра UARTx_IFLS.

Элементы перечислений
UART_IFLS_1DIV8 

буфер заполнен на 1/8

UART_IFLS_1DIV4 

буфер заполнен на 1/4

UART_IFLS_1DIV2 

буфер заполнен на 1/2

UART_IFLS_3DIV4 

буфер заполнен на 3/4

UART_IFLS_7DIV8 

буфер заполнен на 7/8

См. определение в файле uart.h строка 138

§ UART_INTCLEAR_T

Макросы и типы для регистра UARTx_ICR.

Элементы перечислений
UART_ICR_RXIC 

сброс прерывания прерывания от приемника UARTRXINTR

UART_ICR_TXIC 

сброс прерывания от передатчика UARTTXINTR

UART_ICR_RTIC 

сброс прерывания по таймауту приема данных UARTRTINTR

UART_ICR_FEIC 

сброс прерывания по ошибке в структуре кадра UARTFEINTR

UART_ICR_PEIC 

сброс прерывания по ошибке контроля четности UARTPEINTR

UART_ICR_BEIC 

сброс прерывания по разрыву линии UARTBEINTR

UART_ICR_OEIC 

сброс прерывания по переполнению буфера UARTOEINTR

UART_ICR_BITMASK 

BITMASK

См. определение в файле uart.h строка 195

§ UART_INTMASK_T

Макросы и типы для регистра UARTx_IMSC.

Элементы перечислений
UART_IMSC_RXIM 

маскирование прерывания прерывания от приемника UARTRXINTR

UART_IMSC_TXIM 

маскирование прерывания от передатчика UARTTXINTR

UART_IMSC_RTIM 

маскирование прерывания по таймауту приема данных UARTRTINTR

UART_IMSC_FEIM 

маскирование прерывания по ошибке в структуре кадра UARTFEINTR

UART_IMSC_PEIM 

маскирование прерывания по ошибке контроля четности UARTPEINTR

UART_IMSC_BEIM 

маскирование прерывания по разрыву линии UARTBEINTR

UART_IMSC_OEIM 

маскирование прерывания по переполнению буфера UARTOEINTR

UART_IMSC_BITMASK 

См. определение в файле uart.h строка 150

§ UART_INTSTATUS_T

Макросы и типы для регистра UARTx_RIS.

Элементы перечислений
UART_RIS_RXRIS 

состояние прерывания прерывания от приемника UARTRXINTR

UART_RIS_TXRIS 

состояние прерывания от передатчика UARTTXINTR

UART_RIS_RTRIS 

состояние прерывания по таймауту приема данных UARTRTINTR

UART_RIS_FERIS 

состояние прерывания по ошибке в структуре кадра UARTFEINTR

UART_RIS_PERIS 

состояние прерывания по ошибке контроля четности UARTPEINTR

UART_RIS_BERIS 

состояние прерывания по разрыву линии UARTBEINTR

UART_RIS_OERIS 

состояние прерывания по переполнению буфера UARTOEINTR

UART_RIS_BITMASK 

См. определение в файле uart.h строка 165

§ UART_MASKINTSTATUS_T

Макросы и типы для регистра UARTx_MIS.

Элементы перечислений
UART_MIS_RXMIS 

маскированное состояние прерывания прерывания от приемника UARTRXINTR

UART_MIS_TXMIS 

маскированное состояние прерывания от передатчика UARTTXINTR

UART_MIS_RTMIS 

маскированное состояние прерывания по таймауту приема данных UARTRTINTR

UART_MIS_FEMIS 

маскированное состояние прерывания по ошибке в структуре кадра UARTFEINTR

UART_MIS_PEMIS 

маскированное состояние прерывания по ошибке контроля четности UARTPEINTR

UART_MIS_BEMIS 

маскированное состояние прерывания по разрыву линии UARTBEINTR

UART_MIS_OEMIS 

маскированное состояние прерывания по переполнению буфера UARTOEINTR

UART_MIS_BITMASK 

См. определение в файле uart.h строка 180

§ UART_REC_STATUS_T

Макросы и типы для регистра RSR_ECR.

Элементы перечислений
UART_RSR_FE 

ошибка в структуре кадра

UART_RSR_PE 

ошибка контроля четности

UART_RSR_BE 

разрыв линии

UART_RSR_OE 

переполнение буфера приемника

См. определение в файле uart.h строка 71

§ UART_STATUS_T

Макросы и типы для регистра FR.

Элементы перечислений
UART_FR_BUSY 

UART занят

UART_FR_RXFE 

буфер FIFO приемника пуст.

UART_FR_TXFF 

буфер FIFO передатчика заполнен.

UART_FR_RXFF 

буфер FIFO приемника заполнен

UART_FR_TXFE 

буфер FIFO передатчика пуст

UART_FR_RI 

инверсия линии nUARTRI

См. определение в файле uart.h строка 82

§ UART_WLEN

enum UART_WLEN
Элементы перечислений
UART_LCR_H_WLEN5 

длина слова 5 бит

UART_LCR_H_WLEN6 

длина слова 6 бит

UART_LCR_H_WLEN7 

длина слова 7 бит

UART_LCR_H_WLEN8 

длина слова 8 бит

См. определение в файле uart.h строка 115

Функции

§ UART_ClearIntPending()

void UART_ClearIntPending ( UART_T pUART,
UART_INTCLEAR_T  IntClear 
)

Сброс флагов прерываний

Аргументы
pUARTУказатель на структуру с регистрами UART
IntClearТип прерывания для сброса, принимает следующие значения:
  • UART_ICR_RXIC
  • UART_ICR_TXIC
  • UART_ICR_RTIC
  • UART_ICR_FEIC
    • UART_ICR_PEIC
    • UART_ICR_BEIC
    • UART_ICR_OEIC
    • UART_ICR_BITMASK

См. определение в файле uart.c строка 87

§ UART_Config()

void UART_Config ( UART_T pUART,
uint32_t  config 
)

Установка длины слова данных, числа стоповых бит и контроля четности

Аргументы
pUARTУказатель на структуру с регистрами UART
configУстановки UART, логическое сложение макросов, определенных для LCR_H, например: (UART_LCR_H_PEN | UART_LCR_H_EPS_EVEN | UART_LCR_H_STP1 | UART_LCR_H_FEN | UART_LCR_H_WLEN8 | UART_LCR_H_SPS_DIS)

См. определение в файле uart.c строка 232

§ UART_DeInit()

void UART_DeInit ( UART_T pUART)

Деинициализация UART.

Аргументы
pUARTУказатель на структуру с регистрами UART

См. определение в файле uart.c строка 108

§ UART_Disable()

void UART_Disable ( UART_T pUART)

запрещение работы UART.

Аргументы
pUARTУказатель на структуру с регистрами UART

См. определение в файле uart.c строка 275

§ UART_Enable()

void UART_Enable ( UART_T pUART)

Разрешение работы UART.

Аргументы
pUARTУказатель на структуру с регистрами UART

См. определение в файле uart.c строка 303

§ UART_GetIntStatus()

uint32_t UART_GetIntStatus ( UART_T pUART,
UART_MASKINTSTATUS_T  MaskInt 
)

Получение статуса маскированного прерывания

Аргументы
pUARTУказатель на структуру с регистрами UART
MaskIntТип прерывания, принимает следующие значения:
  • UART_MIS_RXMIS
  • UART_MIS_TXMIS
  • UART_MIS_RTMIS
  • UART_MIS_FEMIS
    • UART_MIS_PEMIS
    • UART_MIS_BEMIS
    • UART_MIS_OEMIS
Возвращает
Статус прерывания, SET or RESET

См. определение в файле uart.c строка 145

§ UART_GetRawIntStatus()

uint32_t UART_GetRawIntStatus ( UART_T pUART,
UART_MASKINTSTATUS_T  MaskInt 
)

Получение статуса прерывания

Аргументы
pUARTУказатель на структуру с регистрами UART
RawIntТип прерывания, принимает следующие значения:
  • UART_RIS_RXRIS
  • UART_RIS_TXRIS
  • UART_RIS_RTRIS
  • UART_RIS_FERIS
    • UART_RIS_PERIS
    • UART_RIS_BERIS
    • UART_RIS_OERIS
Возвращает
Статус прерывания, SET or RESET

См. определение в файле uart.c строка 176

§ UART_GetStatus()

FlagStatus UART_GetStatus ( UART_T pUART,
UART_STATUS_T  Stat 
)

Получение текущего статуса UART контроллера

Аргументы
pUARTУказатель на структуру с регистрами UART
StatТип статуса, принимает следующие значения:
  • UART_FR_BUSY
  • UART_FR_RXFE
  • UART_FR_TXFF
  • UART_FR_RXFF
  • UART_FR_TXFE
    • UART_FR_RI
Возвращает
Статус UART контроллера, SET or RESET

См. определение в файле uart.c строка 251

§ UART_Init()

void UART_Init ( UART_T pUART)

Инициализация UART.

Аргументы
pUARTУказатель на структуру с регистрами UART

См. определение в файле uart.c строка 93

§ UART_IntDisable()

void UART_IntDisable ( UART_T pUART,
UART_INTMASK_T  IntMask 
)

Запрещение прерываний по UART'у

Аргументы
pUARTУказатель на структуру с регистрами UART
IntMaskТип прерывания, принимает следующие значения:
  • UART_IMSC_RXIM
  • UART_IMSC_TXIM
  • UART_IMSC_RTIM
  • UART_IMSC_FEIM
  • UART_IMSC_PEIM
  • UART_IMSC_BEIM
  • UART_IMSC_OEIM
  • UART_IMSC_BITMASK

См. определение в файле uart.c строка 194

§ UART_IntEnable()

void UART_IntEnable ( UART_T pUART,
UART_INTMASK_T  IntMask 
)

Разрешение прерываний по UART'у

Аргументы
pUARTУказатель на структуру с регистрами UART
IntMaskТип прерывания, принимает следующие значения:
  • UART_IMSC_RXIM
  • UART_IMSC_TXIM
  • UART_IMSC_RTIM
  • UART_IMSC_FEIM
  • UART_IMSC_PEIM
  • UART_IMSC_BEIM
  • UART_IMSC_OEIM
  • UART_IMSC_BITMASK

См. определение в файле uart.c строка 222

§ UART_IRQRBHandler()

void UART_IRQRBHandler ( UART_T pUART,
RINGBUFF_T pRXRB,
RINGBUFF_T pTXRB 
)

Обработчик прерывания UART по приему/передаче данных для кольцевых буферов

Аргументы
pUARTУказатель на структуру с регистрами UART
pRXRBУказатель на структуру кольцевого буфера для приема
pTXRBУказатель на структуру кольцевого буфера для передачи

См. определение в файле uart.c строка 439

§ UART_Read()

uint32_t UART_Read ( UART_T pUART,
void *  data,
uint32_t  numBytes 
)

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

Аргументы
pUARTУказатель на структуру с регистрами UART
dataУказатель на массив для записи данных
numBytesДлина данных для приема
Возвращает
Длина принятых данных

См. определение в файле uart.c строка 353

§ UART_ReadBlocking()

uint32_t UART_ReadBlocking ( UART_T pUART,
void *  data,
uint32_t  numBytes 
)

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

Аргументы
pUARTУказатель на структуру с регистрами UART
dataУказатель на массив для записи данных
numBytesДлина данных для приема
Возвращает
Длина принятых данных

См. определение в файле uart.c строка 368

§ UART_ReadByte()

uint8_t UART_ReadByte ( UART_T pUART)

Прием одного байта по UART'у

Аргументы
pUARTУказатель на структуру с регистрами UART
Возвращает
Принятый байт

См. определение в файле uart.c строка 204

§ UART_ReadRB()

uint32_t UART_ReadRB ( UART_T pUART,
RINGBUFF_T pRB,
void *  data,
uint32_t  bytes 
)

Чтение данных из кольцевого буфера после приема

Аргументы
pUART: Указатель на структуру с регистрами UART
pRBУказатель на структуру кольцевого буфера
dataУказатель на массив для приема данных
bytesДлина данных для приема
Возвращает
Длина принятых данных

См. определение в файле uart.c строка 432

§ UART_RXDisable()

void UART_RXDisable ( UART_T pUART)

запрещение работы приемника

Аргументы
pUARTУказатель на структуру с регистрами UART

См. определение в файле uart.c строка 321

§ UART_RXEnable()

void UART_RXEnable ( UART_T pUART)

Разрешение работы приемника

Аргументы
pUARTУказатель на структуру с регистрами UART

См. определение в файле uart.c строка 312

§ UART_RXIntHandlerRB()

void UART_RXIntHandlerRB ( UART_T pUART,
RINGBUFF_T pRB 
)

Обработчик прерывания UART по приему данных для кольцевых буферов

Аргументы
pUARTУказатель на структуру с регистрами UART
pRBУказатель на структуру кольцевого буфера

См. определение в файле uart.c строка 385

§ UART_Send()

uint32_t UART_Send ( UART_T pUART,
const void *  data,
uint32_t  numBytes 
)

Передача массива байт по UART'у, без ожидания освобождения FIFO передатчика

Аргументы
pUARTУказатель на структуру с регистрами UART
dataУказатель на данные для передачи
numBytesДлина данных для передачи
Возвращает
Длина переданных данных

См. определение в файле uart.c строка 257

§ UART_SendBlocking()

uint32_t UART_SendBlocking ( UART_T pUART,
const void *  data,
uint32_t  numBytes 
)

Передача массива байт по UART'у, с ожиданием освобождения FIFO передатчика

Аргументы
pUARTУказатель на структуру с регистрами UART
dataУказатель на данные для передачи
numBytesДлина данных для передачи
Возвращает
Длина переданных данных

См. определение в файле uart.c строка 338

§ UART_SendByte()

void UART_SendByte ( UART_T pUART,
uint8_t  data 
)

Передача одного байта по UART'у

Аргументы
pUARTУказатель на структуру с регистрами UART
dataБайт для передачи

См. определение в файле uart.c строка 331

§ UART_SendRB()

uint32_t UART_SendRB ( UART_T pUART,
RINGBUFF_T pRB,
const void *  data,
uint32_t  bytes 
)

Запись данных в кольцевой буфер и начало передачи

Аргументы
pUART: Указатель на структуру с регистрами UART
pRBуказатель на структуру кольцевого буфера
dataДанные для записи
bytesДлина данных
Возвращает
Длина данных, записанных в буфер

Дозапись данных, если возможно

См. определение в файле uart.c строка 411

§ UART_SetBaud()

uint32_t UART_SetBaud ( UART_T pUART,
uint32_t  baud,
const uint32_t  sys_freq 
)

Установка целой и дробной частей делителя для получения заданной скорости последовательного обмена

Аргументы
pUARTУказатель на структуру с регистрами UART
baudНеобходимая скорость последовательного обмена, например: BAUDRATE_921600..BAUDRATE_110
Возвращает
Полученная скорость с учетом ошибки или 0, если делитель вычислить не удалось

См. определение в файле uart.c строка 456

§ UART_SetDivisor()

void UART_SetDivisor ( UART_T pUART,
uint32_t  IBRD,
uint32_t  FBRD 
)

Установка делителя скорости передачи данных

Аргументы
pUARTУказатель на структуру с регистрами UART
IBRDЦелая часть делителя скорости передачи данных
FBRDДробная часть делителя скорости передачи данных

См. определение в файле uart.c строка 157

§ UART_SetupFIFOS()

void UART_SetupFIFOS ( UART_T pUART,
UART_IFLS  rxfifolimit,
UART_IFLS  txfifolimit 
)

Установка порогов прерываний по заполнению буфера приемника/передатчика

Аргументы
pUARTУказатель на структуру с регистрами UART
rxfifolimitПорог прерывания по заполнению буфера приемника
txfifolimitПорог прерывания по заполнению буфера передатчика

См. определение в файле uart.c строка 126

§ UART_TXDisable()

void UART_TXDisable ( UART_T pUART)

запрещение работы передатчика

Аргументы
pUARTУказатель на структуру с регистрами UART

См. определение в файле uart.c строка 293

§ UART_TXEnable()

void UART_TXEnable ( UART_T pUART)

Разрешение работы передатчика

Аргументы
pUARTУказатель на структуру с регистрами UART

См. определение в файле uart.c строка 284

§ UART_TXIntHandlerRB()

void UART_TXIntHandlerRB ( UART_T pUART,
RINGBUFF_T pRB 
)

Обработчик прерывания UART по передаче данных для кольцевых буферов

Аргументы
pUARTУказатель на структуру с регистрами UART
pRBУказатель на структуру кольцевого буфера

См. определение в файле uart.c строка 395