89 pUART->
ICR = IntClear;
128 pUART->
IFLS = (rxfifolimit << 3) | txfifolimit;
206 return (uint8_t) (pUART->
DR);
224 pUART->
IMSC |= IntMask;
234 pUART->
LCR_H = config;
260 uint8_t *p8 = (uint8_t *) data;
341 uint8_t *p8 = (uint8_t *) data;
356 uint8_t *p8 = (uint8_t *) data;
370 int pass, readBytes = 0;
371 uint8_t *p8 = (uint8_t *) data;
373 while (readBytes < numBytes)
415 uint8_t *p8 = (uint8_t *) data;
458 float div = (sys_freq/16.0)/baud;
459 uint32_t ibrd = (uint32_t) div;
460 uint32_t fbrd = (uint32_t)((div - ibrd)*64+0.5);
463 return (uint32_t)(sys_freq/(16*(ibrd + fbrd/64.0)));
#define UART1
Указатель на структуру UART1.
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с контроллером прямого...
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с аппаратным модулем U...
UART_STATUS_T
Макросы и типы для регистра FR.
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)
Чтение данных из кольцевого буфера после приема
int RingBuffer_IsEmpty(RINGBUFF_T *RingBuff)
Проверка кольцевого буфера на отсутствие данных
void PWR_RST_Enable(CTRL_T CTRLn)
Ввод модуля в асинхронный сброс
CTRL_T
Номера модулей в регистрах PWR_CLK_CTRL и PWR_RST_CTRL Расшифровка битовых полей для регистров PWR_CT...
void UART_Config(UART_T *pUART, uint32_t config)
Установка длины слова данных, числа стоповых бит и контроля четности
void UART_TXDisable(UART_T *pUART)
запрещение работы передатчика
#define UART3
Указатель на структуру UART3.
Этот файл содержит описание адресного пространства микроконтроллера 5023ВС016.
#define UART5
Указатель на структуру UART5.
void UART_RXDisable(UART_T *pUART)
запрещение работы приемника
Status RingBuffer_Insert(RINGBUFF_T *RingBuff, const void *data)
Запись одного элемента в кольцевой буфер.
void UART_IntDisable(UART_T *pUART, UART_INTMASK_T IntMask)
Запрещение прерываний по UART'у
void PWR_CLK_Disable(CTRL_T CTRLn)
Отключение тактового сигнала от модуля
#define UART4
Указатель на структуру UART4.
void UART_TXEnable(UART_T *pUART)
Разрешение работы передатчика
void UART_Enable(UART_T *pUART)
Разрешение работы UART.
#define UART_FBRD_BAUDDIV_FRAC(x)
Макросы для регистра UARTx_FBRD.
uint32_t UART_SendBlocking(UART_T *pUART, const void *data, uint32_t numBytes)
Передача массива байт по UART'у, с ожиданием освобождения FIFO передатчика
int RingBuffer_InsertMult(RINGBUFF_T *RingBuff, const void *data, int num)
Запись нескольких элементов в кольцевой буфер.
void UART_SetupFIFOS(UART_T *pUART, UART_IFLS rxfifolimit, UART_IFLS txfifolimit)
Установка порогов прерываний по заполнению буфера приемника/передатчика
void UART_DeInit(UART_T *pUART)
Деинициализация UART.
uint32_t UART_ReadBlocking(UART_T *pUART, void *data, uint32_t numBytes)
Прием массива байт по UART'у, с ожиданием заполнения указанного массива полностью ...
uint32_t UART_SendRB(UART_T *pUART, RINGBUFF_T *pRB, const void *data, uint32_t bytes)
Запись данных в кольцевой буфер и начало передачи
FlagStatus
Тип для состояний флагов
Структура кольцевого буфера
UART_MASKINTSTATUS_T
Макросы и типы для регистра UARTx_MIS.
#define UART6
Указатель на структуру UART6.
#define UART_DR_MASK_DATA
void PWR_RST_Disable(CTRL_T CTRLn)
Вывод модуля из асинхронного сброса
void PWR_CLK_Enable(CTRL_T CTRLn)
Подача тактового сигнала на модуль
void UART_Disable(UART_T *pUART)
запрещение работы UART.
void UART_TXIntHandlerRB(UART_T *pUART, RINGBUFF_T *pRB)
Обработчик прерывания UART по передаче данных для кольцевых буферов
void UART_SendByte(UART_T *pUART, uint8_t data)
Передача одного байта по UART'у
#define UART2
Указатель на структуру UART2.
uint8_t UART_ReadByte(UART_T *pUART)
Прием одного байта по UART'у
uint32_t UART_GetIntStatus(UART_T *pUART, UART_MASKINTSTATUS_T MaskInt)
Получение статуса маскированного прерывания
void UART_SetDivisor(UART_T *pUART, uint32_t IBRD, uint32_t FBRD)
Установка делителя скорости передачи данных
void UART_Init(UART_T *pUART)
Инициализация UART.
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с регистрами общего на...
void UART_ClearIntPending(UART_T *pUART, UART_INTCLEAR_T IntClear)
Сброс флагов прерываний
const unsigned int sys_freq
static CTRL_T UART_GetCtrlNum(UART_T *pUART)
Status RingBuffer_Pop(RINGBUFF_T *RingBuff, void *data)
Чтение одного элемента из кольцевого буфера
uint32_t UART_Read(UART_T *pUART, void *data, uint32_t numBytes)
Прием массива байт по UART'у, без ожидания заполнения указанного массива полностью ...
Структура для доступа к регистрам UART.
int RingBuffer_PopMult(RINGBUFF_T *RingBuff, void *data, int num)
Чтение массива элементов из кольцевого буфера
#define UART_IBRD_BAUDDIV_INT(x)
Макросы для регистра UARTBIRD.
uint32_t UART_Send(UART_T *pUART, const void *data, uint32_t numBytes)
Передача массива байт по UART'у, без ожидания освобождения FIFO передатчика
void UART_RXEnable(UART_T *pUART)
Разрешение работы приемника
UART_IFLS
Тип UART_IFLS для регистра UARTx_IFLS.
uint32_t UART_GetRawIntStatus(UART_T *pUART, UART_MASKINTSTATUS_T MaskInt)
Получение статуса прерывания
void UART_IRQRBHandler(UART_T *pUART, RINGBUFF_T *pRXRB, RINGBUFF_T *pTXRB)
Обработчик прерывания UART по приему/передаче данных для кольцевых буферов
UART_INTCLEAR_T
Макросы и типы для регистра UARTx_ICR.
FlagStatus UART_GetStatus(UART_T *pUART, UART_STATUS_T Stat)
Получение текущего статуса UART контроллера
void UART_IntEnable(UART_T *pUART, UART_INTMASK_T IntMask)
Разрешение прерываний по UART'у
UART_INTMASK_T
Макросы и типы для регистра UARTx_IMSC.
uint32_t UART_SetBaud(UART_T *pUART, uint32_t baud, const uint32_t sys_freq)
Установка целой и дробной частей делителя для получения заданной скорости последовательного обмена ...