Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
Функции
Файл uart.c

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

#include <system.h>
#include "dma.h"
#include "chip_5023BC016.h"
#include "uart.h"

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

Функции

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

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

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

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

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

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

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

Функции

§ 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_GetCtrlNum()

static CTRL_T UART_GetCtrlNum ( UART_T pUART)
static

Возвращает номер модуля для использования в функциях включения/выключения тактового сигнала и и сгнала сброса

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

§ 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