35 #define UART_DR_MASK_DATA ((uint32_t)(0x00FF)) 43 uint32_t RESERVED0[4];
45 uint32_t RESERVED1[2];
61 #define UART_DR_DATA(x) ((uint32_t)((x) & 0xFF)) 62 #define UART_DR_FE ((uint32_t)(1 << 8)) 63 #define UART_DR_PE ((uint32_t)(1 << 9)) 64 #define UART_DR_BE ((uint32_t)(1 << 10)) 65 #define UART_DR_OE ((uint32_t)(1 << 11)) 66 //#define UART_DR_MASK_DATA ((uint32_t)(0x00FF)) 95 #define UART_IBRD_BAUDDIV_INT(x) ((uint32_t)(x & 0xFFFF)) 100 #define UART_FBRD_BAUDDIV_FRAC(x) ((uint32_t)(x & 0x1F)) 105 #define UART_LCR_H_BRK ((uint32_t)(1 << 0)) 106 #define UART_LCR_H_PEN ((uint32_t)(1 << 1)) 107 #define UART_LCR_H_PDIS ((uint32_t)(0 << 1)) 108 #define UART_LCR_H_EPS_EVEN ((uint32_t)(1 << 2)) 109 #define UART_LCR_H_EPS_ODD ((uint32_t)(0 << 2)) 110 #define UART_LCR_H_STP2 ((uint32_t)(1 << 3)) 111 #define UART_LCR_H_STP1 ((uint32_t)(0 << 3)) 112 #define UART_LCR_H_FEN ((uint32_t)(1 << 4)) 113 #define UART_LCR_H_FDIS ((uint32_t)(0 << 4)) 123 #define UART_LCR_H_SPS_EN ((uint32_t)(1 << 7)) 124 #define UART_LCR_H_SPS_DIS ((uint32_t)(0 << 7)) 129 #define UART_CR_UARTEN ((uint32_t)(1 << 0)) 130 #define UART_CR_LBE ((uint32_t)(1 << 7)) 131 #define UART_CR_TXE ((uint32_t)(1 << 8)) 132 #define UART_CR_RXE ((uint32_t)(1 << 9)) 133 #define UART_CR_BITMASK ((uint32_t)(0x381)) 218 #define UART_DMACR_DMAONERR ((uint32_t)(1 << 2)) 219 #define BAUDRATE_921600 (921600) 220 #define BAUDRATE_460800 (460800) 221 #define BAUDRATE_230400 (230400) 222 #define BAUDRATE_115200 (115200) 223 #define BAUDRATE_57600 (57600) 224 #define BAUDRATE_38400 (38400) 225 #define BAUDRATE_19200 (19200) 226 #define BAUDRATE_14400 (14400) 227 #define BAUDRATE_9600 (9600) 228 #define BAUDRATE_2400 (2400) 229 #define BAUDRATE_1200 (1200) 230 #define BAUDRATE_110 (110) 237 void UART_TXEnable(UART_T *pUART); 424 uint32_t
UART_Send(
UART_T *pUART,
const void *data, uint32_t numBytes);
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с кольцевыми буферами...
UART_STATUS_T
Макросы и типы для регистра FR.
Этот файл содержит структуры, макросы и функции необходимые для работы с дополнительными типами...
uint32_t UART_Read(UART_T *pUART, void *data, uint32_t numBytes)
Прием массива байт по UART'у, без ожидания заполнения указанного массива полностью ...
void UART_Enable(UART_T *pUART)
Разрешение работы UART.
void UART_RXEnable(UART_T *pUART)
Разрешение работы приемника
uint32_t UART_SendBlocking(UART_T *pUART, const void *data, uint32_t numBytes)
Передача массива байт по UART'у, с ожиданием освобождения FIFO передатчика
uint32_t UART_GetRawIntStatus(UART_T *pUART, UART_MASKINTSTATUS_T MaskInt)
Получение статуса прерывания
void UART_Init(UART_T *pUART)
Инициализация UART.
void UART_IntEnable(UART_T *pUART, UART_INTMASK_T IntMask)
Разрешение прерываний по UART'у
void UART_DeInit(UART_T *pUART)
Деинициализация UART.
uint32_t UART_ReadBlocking(UART_T *pUART, void *data, uint32_t numBytes)
Прием массива байт по UART'у, с ожиданием заполнения указанного массива полностью ...
void UART_TXIntHandlerRB(UART_T *pUART, RINGBUFF_T *pRB)
Обработчик прерывания UART по передаче данных для кольцевых буферов
#define UART_DMACR_DMAONERR
uint32_t UART_SendRB(UART_T *pUART, RINGBUFF_T *pRB, const void *data, uint32_t bytes)
Запись данных в кольцевой буфер и начало передачи
UART_REC_STATUS_T
Макросы и типы для регистра RSR_ECR.
uint32_t UART_GetIntStatus(UART_T *pUART, UART_MASKINTSTATUS_T MaskInt)
Получение статуса маскированного прерывания
FlagStatus UART_GetStatus(UART_T *pUART, UART_STATUS_T Stat)
Получение текущего статуса UART контроллера
uint32_t UART_SetBaud(UART_T *pUART, uint32_t baud, const uint32_t sys_freq)
Установка целой и дробной частей делителя для получения заданной скорости последовательного обмена ...
FlagStatus
Тип для состояний флагов
uint8_t UART_ReadByte(UART_T *pUART)
Прием одного байта по UART'у
uint32_t UART_Send(UART_T *pUART, const void *data, uint32_t numBytes)
Передача массива байт по UART'у, без ожидания освобождения FIFO передатчика
Структура кольцевого буфера
UART_MASKINTSTATUS_T
Макросы и типы для регистра UARTx_MIS.
void UART_RXDisable(UART_T *pUART)
запрещение работы приемника
void UART_IRQRBHandler(UART_T *pUART, RINGBUFF_T *pRXRB, RINGBUFF_T *pTXRB)
Обработчик прерывания UART по приему/передаче данных для кольцевых буферов
void UART_TXDisable(UART_T *pUART)
запрещение работы передатчика
void UART_SetupFIFOS(UART_T *pUART, UART_IFLS rxfifolimit, UART_IFLS txfifolimit)
Установка порогов прерываний по заполнению буфера приемника/передатчика
UART_INTSTATUS_T
Макросы и типы для регистра UARTx_RIS.
void UART_IntDisable(UART_T *pUART, UART_INTMASK_T IntMask)
Запрещение прерываний по UART'у
UART_DMACR_T
Макросы и типы для регистра UARTx_DMACR.
const unsigned int sys_freq
void UART_Disable(UART_T *pUART)
запрещение работы UART.
void UART_SendByte(UART_T *pUART, uint8_t data)
Передача одного байта по UART'у
Структура для доступа к регистрам UART.
void UART_RXIntHandlerRB(UART_T *pUART, RINGBUFF_T *pRB)
Обработчик прерывания UART по приему данных для кольцевых буферов
uint32_t UART_ReadRB(UART_T *pUART, RINGBUFF_T *pRB, void *data, uint32_t bytes)
Чтение данных из кольцевого буфера после приема
UART_IFLS
Тип UART_IFLS для регистра UARTx_IFLS.
void UART_Config(UART_T *pUART, uint32_t config)
Установка длины слова данных, числа стоповых бит и контроля четности
UART_INTCLEAR_T
Макросы и типы для регистра UARTx_ICR.
UART_INTMASK_T
Макросы и типы для регистра UARTx_IMSC.
void UART_SetDivisor(UART_T *pUART, uint32_t IBRD, uint32_t FBRD)
Установка делителя скорости передачи данных
void UART_ClearIntPending(UART_T *pUART, UART_INTCLEAR_T IntClear)
Сброс флагов прерываний