30 #ifndef __NIIETCM4_UART_H
31 #define __NIIETCM4_UART_H
56 #define IS_UART_INT_DIV(INT_DIV) (((INT_DIV) > ((uint32_t)0x0)) && ((INT_DIV) < ((uint32_t)0x10000)))
62 #define IS_UART_FRAC_DIV(FRAC_DIV) ((FRAC_DIV) < ((uint32_t)0x40))
68 #define IS_UART_DATA(DATA) ((DATA) < ((uint32_t)0x100))
84 #define IS_UART_DIR(DIR) (((DIR) == UART_Dir_Rx) || \
85 ((DIR) == UART_Dir_Tx))
101 #define IS_UART_STOP_BIT(STOP_BIT) (((STOP_BIT) == UART_StopBit_1) || \
102 ((STOP_BIT) == UART_StopBit_2))
121 #define IS_UART_PARITY_BIT(PARITY_BIT) (((PARITY_BIT) == UART_ParityBit_Disable) || \
122 ((PARITY_BIT) == UART_ParityBit_Odd) || \
123 ((PARITY_BIT) == UART_ParityBit_Even) || \
124 ((PARITY_BIT) == UART_ParityBit_High) || \
125 ((PARITY_BIT) == UART_ParityBit_Low))
143 #define IS_UART_DATA_WIDTH(DATA_WIDTH) (((DATA_WIDTH) == UART_DataWidth_5) || \
144 ((DATA_WIDTH) == UART_DataWidth_6) || \
145 ((DATA_WIDTH) == UART_DataWidth_7) || \
146 ((DATA_WIDTH) == UART_DataWidth_8))
166 #define IS_UART_FIFO_LEVEL(FIFO_LEVEL) (((FIFO_LEVEL) == UART_FIFOLevel_1_8) || \
167 ((FIFO_LEVEL) == UART_FIFOLevel_1_4) || \
168 ((FIFO_LEVEL) == UART_FIFOLevel_1_2) || \
169 ((FIFO_LEVEL) == UART_FIFOLevel_3_4) || \
170 ((FIFO_LEVEL) == UART_FIFOLevel_7_8))
227 #define UART_ITSource_ChangeRI ((uint32_t)0x00000001)
228 #define UART_ITSource_ChangeCTS ((uint32_t)0x00000002)
229 #define UART_ITSource_ChangeDCD ((uint32_t)0x00000004)
230 #define UART_ITSource_ChangeDSR ((uint32_t)0x00000008)
231 #define UART_ITSource_RxFIFOLevel ((uint32_t)0x00000010)
232 #define UART_ITSource_TxFIFOLevel ((uint32_t)0x00000020)
233 #define UART_ITSource_RecieveTimeout ((uint32_t)0x00000040)
234 #define UART_ITSource_ErrorFrame ((uint32_t)0x00000080)
235 #define UART_ITSource_ErrorParity ((uint32_t)0x00000100)
236 #define UART_ITSource_ErrorBreak ((uint32_t)0x00000200)
237 #define UART_ITSource_ErrorOverflow ((uint32_t)0x00000400)
238 #define UART_ITSource_All ((uint32_t)0x000007FF)
244 #define IS_UART_IT_SOURCE(IT_SOURCE) (((IT_SOURCE) & ~UART_ITSource_All) == 0)
254 #define UART_Flag_InvCTS ((uint32_t)0x00000001)
255 #define UART_Flag_InvDSR ((uint32_t)0x00000002)
256 #define UART_Flag_InvDCD ((uint32_t)0x00000004)
257 #define UART_Flag_Busy ((uint32_t)0x00000008)
258 #define UART_Flag_RxFIFOEmpty ((uint32_t)0x00000010)
259 #define UART_Flag_TxFIFOFull ((uint32_t)0x00000020)
260 #define UART_Flag_RxFIFOFull ((uint32_t)0x00000040)
261 #define UART_Flag_TxFIFOEmpty ((uint32_t)0x00000080)
262 #define UART_Flag_InvRI ((uint32_t)0x00000100)
263 #define UART_Flag_All ((uint32_t)0x000001FF)
269 #define IS_UART_FLAG(FLAG) (((FLAG) & ~UART_Flag_All) == 0)
279 #define UART_Error_Frame ((uint32_t)0x00000001)
280 #define UART_Error_Parity ((uint32_t)0x00000002)
281 #define UART_Error_Break ((uint32_t)0x00000004)
282 #define UART_Error_Overflow ((uint32_t)0x00000008)
283 #define UART_Error_All ((uint32_t)0x0000000F)
289 #define IS_UART_ERROR(ERROR) (((ERROR) & ~UART_Error_All) == 0)
void UART_SendData(NT_UART_TypeDef *UARTx, uint32_t Data)
Передача слова данных.
UART_ParityBit_TypeDef
Выбор режима бита четности.
UART_DataWidth_TypeDef
Количество передаваемых/принимаемых информационных бит.
OperationStatus
Описывает коды возврата для функций при выполнении какой-либо операции.
FunctionalState UART_RTSEn
FunctionalState UART_RxEn
UART_DataWidth_TypeDef UART_DataWidth
FunctionalState UART_InvRTS
Структура инициализации UART.
void UART_DMABlkOnErrCmd(NT_UART_TypeDef *UARTx, FunctionalState State)
Управление блокированием запросов DMA от приемника в случае возникновения прерывания по ошибке...
void UART_Cmd(NT_UART_TypeDef *UARTx, FunctionalState State)
Разрешение работы выбранного UART.
OperationStatus UART_Init(NT_UART_TypeDef *UARTx, UART_Init_TypeDef *UART_InitStruct)
Инициализирует UARTx согласно параметрам структуры UART_InitStruct.
UART_FIFOLevel_TypeDef UART_FIFOLevelTx
void UART_DMACmd(NT_UART_TypeDef *UARTx, UART_Dir_Typedef UART_Dir, FunctionalState State)
Разрешение формирования запросов DMA для обслуживания буфера передатчика/приемника ...
FunctionalState UART_TxEn
void UART_BaudRateDivConfig(NT_UART_TypeDef *UARTx, uint32_t IntDiv, uint32_t FracDiv)
Ручная настройка делителя для реализации необходимой скорости передачи.
FlagStatus UART_FlagStatus(NT_UART_TypeDef *UARTx, uint32_t UART_Flag)
Запрос состояния выбранного флага.
void UART_ErrorStatusClear(NT_UART_TypeDef *UARTx, uint32_t UART_Error)
Очистка флагов ошибки.
void UART_ITCmd(NT_UART_TypeDef *UARTx, uint32_t UART_ITSource, FunctionalState State)
Маскирование выбранных прерываний.
FlagStatus UART_ErrorStatus(NT_UART_TypeDef *UARTx, uint32_t UART_Error)
Запрос состояния выбранного флага ошибки.
void UART_ModemConfig(NT_UART_TypeDef *UARTx, UART_ModemInit_TypeDef *UART_ModemInitStruct)
Инициализирует модемный режим UART согласно параметрам структуры UART_ModemInitStruct.
FlagStatus UART_ITRawStatus(NT_UART_TypeDef *UARTx, uint32_t UART_ITSource)
Запрос немаскированного состояния прерывания.
FunctionalState UART_CTSEn
FlagStatus
Описывает возможные состояния флага при запросе его статуса.
void UART_StructInit(UART_Init_TypeDef *UART_InitStruct)
Заполнение каждого члена структуры UART_InitStruct значениями по умолчанию.
FunctionalState UART_InvDTR
UART_ParityBit_TypeDef UART_ParityBit
FunctionalState
Описывает логическое состояние периферии. Используется для операций включения/выключения периферийных...
Это главный заголовочный файл драйвера, обычно включаемый в main.c.
UART_StopBit_TypeDef
Выбор режима передачи стопового бита.
Структура инициализации модемного режима.
void UART_DeInit(NT_UART_TypeDef *UARTx)
Устанавливает все регистры UART значениями по умолчанию.
void UART_Break(NT_UART_TypeDef *UARTx, FunctionalState State)
Включение разрыва линии.
void UART_ITFIFOLevelConfig(NT_UART_TypeDef *UARTx, UART_Dir_Typedef UART_Dir, UART_FIFOLevel_TypeDef UART_FIFOLevel)
Выбор порог заполнения буфера приемника/передатчика, по достижению которого будет генерироваться прер...
UART_Dir_Typedef
Направления передачи UART.
uint32_t UART_RecieveData(NT_UART_TypeDef *UARTx)
Прием слова данных.
UART_StopBit_TypeDef UART_StopBit
UART_FIFOLevel_TypeDef UART_FIFOLevelRx
UART_FIFOLevel_TypeDef
Порог заполнения буфера приемника/передатчика, по достижению которого будет генерироваться прерывание...
void UART_ITStatusClear(NT_UART_TypeDef *UARTx, uint32_t UART_ITSource)
Сброс флагов состояния выбранных прерываний.
FlagStatus UART_ITMaskedStatus(NT_UART_TypeDef *UARTx, uint32_t UART_ITSource)
Запрос маскированного состояния прерывания.
void UART_ModemStructInit(UART_ModemInit_TypeDef *UART_ModemInitStruct)
Заполнение каждого члена структуры UART_ModemInitStruct значениями по умолчанию.
FunctionalState UART_FIFOEn