CI13LC SDK API手册  2.1.1
本手册用于描述CI13LC SDK各个组件和驱动API
ci13lc_uart.h
浏览该文件的文档.
1 
11 #ifndef _CI13LC_UART_H_
12 #define _CI13LC_UART_H_
13 
14 
15 #include <stdio.h>
16 #include <ci_system.h>
17 
18 #ifdef __cplusplus
19  extern "C" {
20 #endif
21 
29 #define UART0_DMA_ADDR 0x61000000
30 #define UART1_DMA_ADDR 0x62000000
31 #define UART2_DMA_ADDR 0x63000000
36 typedef enum
37 {
43 
47 typedef enum
48 {
49  UART_CTS = 0,
50  UART_DSR = 1,
51  UART_DCD = 2,
52  UART_RI = 3,
53  UART_BUSY = 4,
54  UART_RXFF = 5,
55  UART_RXFE = 6,
56  UART_TXFF = 7,
57  UART_TXFE = 8,
58  UART_EOC = 9,
59  UART_EDF = 10,
61 
65 typedef enum
66 {
78  UART_BaudRate1M = 1000000,
79  UART_BaudRate2M = 2000000,
80  UART_BaudRate3M = 3000000,
82 
83 
87 typedef enum
88 {
94 
98 typedef enum
99 {
104 
108 typedef enum
109 {
113 }UART_Parity;
114 
118 typedef enum
119 {
120  UART_Byte = 1,
121  UART_Word = 0,
123 
127 typedef enum
128 {
133  UART_RTS = 11,
134  UART_DTR = 10,
135  UART_RXE = 9,
136  UART_TXE = 8,
138  UART_NCED = 1,
140 
144 typedef enum
145 {
154 
158 typedef enum
159 {
172  UART_AllInt = 12,
173 }UART_IntMask;
174 
178 typedef enum
179 {
182 }UART_TXRXDMA;
183 
187 typedef enum
188 {
192 
196 typedef enum
197 {
203 
207 typedef enum
208 {
213 }UART_BaudInt;
214 
218 typedef enum
219 {
224 
225 void UartPollingSenddata(UART_TypeDef* UARTx, char ch);
227 void UARTPollingConfig(UART_TypeDef* UARTx, UART_BaudRate uartbaudrate);
230 void UARTDMAConfig(UART_TypeDef* UARTx, UART_BaudRate uartbaudrate);
231 int UART_MaskIntState(UART_TypeDef* UARTx,UART_IntMask intmask);
232 void UART_IntClear(UART_TypeDef* UARTx,UART_IntMask intmask);
233 unsigned char UART_RXDATA(UART_TypeDef* UARTx);
234 int UART_ERRORSTATE(UART_TypeDef* UARTx,UART_ERRORFLAG uarterrorflag);
235 void UART_TXDATAConfig(UART_TypeDef* UARTx,unsigned int val);
236 int UART_FLAGSTAT(UART_TypeDef* UARTx,UART_FLAGStatus uartflag);
237 int UART_BAUDRATEConfig(UART_TypeDef* UARTx,UART_BaudRate uartbaudrate);
238 void UART_FIFOClear(UART_TypeDef* UARTx);
239 int UART_LCRConfig(UART_TypeDef* UARTx,UART_WordLength wordlength,\
240  UART_StopBits uartstopbits,UART_Parity uartparity);
241 int UART_TXFIFOByteWordConfig(UART_TypeDef* UARTx,UART_ByteWord uarttxfifobit);
242 void UART_EN(UART_TypeDef* UARTx,FunctionalState cmd);
243 void UART_CRConfig(UART_TypeDef* UARTx,UART_CRBitCtrl crbitctrl,FunctionalState cmd);
244 void UART_RXFIFOConfig(UART_TypeDef* UARTx,UART_FIFOLevel fifoleve);
245 void UART_TXFIFOConfig(UART_TypeDef* UARTx,UART_FIFOLevel fifoleve);
246 int UART_RawIntState(UART_TypeDef* UARTx,UART_IntMask intmask);
247 void UART_TXRXDMAConfig(UART_TypeDef* UARTx,UART_TXRXDMA uartdma);
248 void UART_TimeoutConfig(UART_TypeDef* UARTx,unsigned short time);
249 void UartPollingSenddone(UART_TypeDef* UARTx);
251 void UartSetCLKBase(UART_TypeDef *UARTx);
253 
256 void UartBaudIntClear(UART_TypeDef *UARTx, UART_BaudInt status);
257 uint32_t UartBaudIntStatus(UART_TypeDef *UARTx, UART_BaudInt status);
259 void UARTDMAElseConfig(UART_TypeDef* UARTx, UART_BaudRate uartbaudrate, UART_DmaWidth width_type);
260 uint32_t UartBaudSampleRateGet(UART_TypeDef *UARTx);
262 uint32_t UartBaudIntRawStatus(UART_TypeDef *UARTx, UART_BaudInt status);
263 uint32_t UartBaudSample0ReadCount(UART_TypeDef *UARTx);
264 uint32_t UartBaudSample0ReadBit(UART_TypeDef *UARTx);
265 
270 #ifdef __cplusplus
271 }
272 #endif
273 
274 #endif /*__UART_H*/
Definition: ci13lc_uart.h:55
char UartPollingReceiveData(UART_TypeDef *UARTx)
UART 查询方式接收一个字节数据
Definition: ci13lc_uart.c:350
uint32_t UartBaudIntRawStatus(UART_TypeDef *UARTx, UART_BaudInt status)
读波特率检测原始中断状态
Definition: ci13lc_uart.c:656
Definition: ci13lc_uart.h:135
Definition: ci13lc_uart.h:129
void UartPollingSenddone(UART_TypeDef *UARTx)
等待 UART 发送完毕
Definition: ci13lc_uart.c:362
void UART_CRConfig(UART_TypeDef *UARTx, UART_CRBitCtrl crbitctrl, FunctionalState cmd)
UART 信号使能控制
Definition: ci13lc_uart.c:188
Definition: ci13lc_uart.h:168
void UART_IntClear(UART_TypeDef *UARTx, UART_IntMask intmask)
UART 清除中断标志
Definition: ci13lc_uart.c:279
Definition: ci13lc_uart.h:91
Definition: ci13lc_uart.h:166
UART_FIFOLevel
UART Tx/RxFIFO触发深度定义
Definition: ci13lc_uart.h:144
Definition: ci13lc_uart.h:77
Definition: ci13lc_uart.h:151
Definition: ci13lc_uart.h:39
void UART_RXFIFOConfig(UART_TypeDef *UARTx, UART_FIFOLevel fifoleve)
UART 接收FIFO 触发深度选择
Definition: ci13lc_uart.c:206
Definition: ci13lc_uart.h:199
Definition: ci13lc_uart.h:52
Definition: ci13lc_uart.h:79
Definition: ci13lc_uart.h:161
Definition: ci13lc_uart.h:58
Definition: ci13lc_uart.h:211
uint32_t UartBaudSample0ReadCount(UART_TypeDef *UARTx)
读波特率偏差总bit数对应的总偏移采样点数
Definition: ci13lc_uart.c:576
Definition: ci13lc_uart.h:111
void UART_TXFIFOConfig(UART_TypeDef *UARTx, UART_FIFOLevel fifoleve)
UART 发送FIFO 触发深度选择
Definition: ci13lc_uart.c:218
Definition: ci13lc_uart.h:67
void UARTDMAConfig(UART_TypeDef *UARTx, UART_BaudRate uartbaudrate)
UART DMA模式初始化(dma按byte宽度传输)
Definition: ci13lc_uart.c:482
Definition: ci13lc_uart.h:147
Definition: ci13lc_uart.h:170
UART_FLAGStatus
UART标志寄存器定义
Definition: ci13lc_uart.h:47
Definition: ci13lc_uart.h:50
Definition: ci13lc_uart.h:221
Definition: ci13lc_uart.h:92
Definition: ci13lc_uart.h:89
Definition: ci13lc_uart.h:222
Definition: ci13lc_uart.h:172
Definition: ci13lc_uart.h:100
Definition: ci13lc_uart.h:132
Definition: ci13lc_uart.h:56
Definition: ci13lc_uart.h:71
Definition: ci13lc_uart.h:164
Definition: ci13lc_uart.h:57
unsigned char UART_RXDATA(UART_TypeDef *UARTx)
UART非阻塞模式接收数据(使用时需确保接收FIFO不为空)
Definition: ci13lc_uart.c:46
Definition: ci13lc_uart.h:74
UART_WordLength
UART每帧有效数据位定义
Definition: ci13lc_uart.h:87
Definition: ci13lc_uart.h:53
Definition: ci13lc_uart.h:110
Definition: ci13lc_uart.h:76
UART_BaudSampleRate
波特率检测使用的过采样率
Definition: ci13lc_uart.h:187
void UART_DMAByteWordConfig(UART_TypeDef *UARTx, FunctionalState cmd)
UART DMA Byte/word 传输模式设置(仅DMA模式下配置)
Definition: ci13lc_uart.c:319
void UART_TXDATAConfig(UART_TypeDef *UARTx, unsigned int val)
UART非阻塞模式发送数据(使用时需确保发送FIFO不为满)
Definition: ci13lc_uart.c:70
UART_BaudRate
UART波特率定义
Definition: ci13lc_uart.h:65
void UART_EN(UART_TypeDef *UARTx, FunctionalState cmd)
UART 使能控制
Definition: ci13lc_uart.c:169
Definition: ci13lc_uart.h:167
Definition: ci13lc_uart.h:51
void UART_TimeoutConfig(UART_TypeDef *UARTx, unsigned short time)
UART 超时设置
Definition: ci13lc_uart.c:308
UART_IntMask
UART中断标志定义
Definition: ci13lc_uart.h:158
void UartBaudIntClear(UART_TypeDef *UARTx, UART_BaudInt status)
波特率检测中断清除
Definition: ci13lc_uart.c:644
Definition: ci13lc_uart.h:180
Definition: ci13lc_uart.h:49
Definition: ci13lc_uart.h:69
Definition: ci13lc_uart.h:40
Definition: ci13lc_uart.h:78
void UART_TXRXDMAConfig(UART_TypeDef *UARTx, UART_TXRXDMA uartdma)
UART DMA 发送/接收控制使能
Definition: ci13lc_uart.c:297
Definition: ci13lc_uart.h:209
uint32_t UartBaudIntStatus(UART_TypeDef *UARTx, UART_BaudInt status)
读波特率检测屏蔽中断状态
Definition: ci13lc_uart.c:668
void UARTPollingConfig(UART_TypeDef *UARTx, UART_BaudRate uartbaudrate)
UART 查询模式初始化
Definition: ci13lc_uart.c:393
void UartBaudCheckEnable(UART_TypeDef *UARTx, FunctionalState en)
波特率检测使能
Definition: ci13lc_uart.c:632
Definition: ci13lc_uart.h:181
UART_BaudInt
波特率中断状态
Definition: ci13lc_uart.h:207
void UartSetCLKBase(UART_TypeDef *UARTx)
根据波特率配置相应的外设时钟,并打开外设时钟
Definition: ci13lc_uart.c:374
void UART_FIFOClear(UART_TypeDef *UARTx)
清除 UART FIFO数据
Definition: ci13lc_uart.c:119
void UARTDMAElseConfig(UART_TypeDef *UARTx, UART_BaudRate uartbaudrate, UART_DmaWidth width_type)
UART DMA模式初始化(dma可选按byte、halfword、word宽度传输)
Definition: ci13lc_uart.c:523
Definition: ci13lc_uart.h:169
Definition: ci13lc.h:263
Definition: ci13lc_uart.h:68
Definition: ci13lc_uart.h:210
void UARTInterruptConfig(UART_TypeDef *UARTx, UART_BaudRate bd)
UART 中断模式初始化
Definition: ci13lc_uart.c:424
UART_CRBitCtrl
UART控制寄存器定义
Definition: ci13lc_uart.h:127
Definition: ci13lc_uart.h:171
Definition: ci13lc_uart.h:136
Definition: ci13lc_uart.h:80
Definition: ci13lc_uart.h:149
Definition: ci13lc_uart.h:150
chip级定义
Definition: ci13lc_uart.h:75
Definition: ci13lc_uart.h:41
Definition: ci13lc_uart.h:54
Definition: ci13lc_uart.h:163
Definition: ci13lc_uart.h:120
void UartBaudSampleRateSet(UART_TypeDef *UARTx, UART_BaudSampleRate sample)
设置波特率检测的过采样率配置
Definition: ci13lc_uart.c:609
Definition: ci13lc_uart.h:189
Definition: ci13lc_uart.h:101
int UART_FLAGSTAT(UART_TypeDef *UARTx, UART_FLAGStatus uartflag)
读 UART 标志寄存器
Definition: ci13lc_uart.c:83
Definition: ci13lc_uart.h:130
int UART_TXFIFOByteWordConfig(UART_TypeDef *UARTx, UART_ByteWord uarttxfifobit)
设置UART的发送FIFO数据位宽
Definition: ci13lc_uart.c:150
uint32_t UartBaudSample0ReadBit(UART_TypeDef *UARTx)
读波特率偏差总bit数
Definition: ci13lc_uart.c:587
Definition: ci13lc_uart.h:112
Definition: ci13lc_uart.h:102
Definition: ci13lc_uart.h:220
UART_StopBits
UART停止位定义
Definition: ci13lc_uart.h:98
Definition: ci13lc_uart.h:121
UART_TXRXDMA
UART 定义
Definition: ci13lc_uart.h:178
Definition: ci13lc_uart.h:90
UART_ERRORFLAG
UART接收错误标志寄存器定义
Definition: ci13lc_uart.h:36
Definition: ci13lc_uart.h:70
Definition: ci13lc_uart.h:146
Definition: ci13lc_uart.h:201
Definition: ci13lc_uart.h:160
Definition: ci13lc_uart.h:131
Definition: ci13lc_uart.h:59
void UartBaudIntMask(UART_TypeDef *UARTx, UART_BaudInt status, FunctionalState en)
波特率检测中断屏蔽配置
Definition: ci13lc_uart.c:680
int UART_MaskIntState(UART_TypeDef *UARTx, UART_IntMask intmask)
UART 屏蔽后的中断状态
Definition: ci13lc_uart.c:268
Definition: ci13lc_uart.h:165
Definition: ci13lc_uart.h:162
UART_DmaWidth
DMA数据宽度
Definition: ci13lc_uart.h:218
UART_Parity
UART奇偶校验定义
Definition: ci13lc_uart.h:108
Definition: ci13lc_uart.h:73
Definition: ci13lc_uart.h:200
int UART_BAUDRATEConfig(UART_TypeDef *UARTx, UART_BaudRate uartbaudrate)
UART的波特率配置
Definition: ci13lc_uart.c:96
Definition: ci13lc_uart.h:38
Definition: ci13lc_uart.h:198
Definition: ci13lc_uart.h:138
Definition: ci13lc_uart.h:152
UART_BaudStatus
波特率偏移状态
Definition: ci13lc_uart.h:196
int UART_RawIntState(UART_TypeDef *UARTx, UART_IntMask intmask)
UART 原始中断(中断屏蔽前)状态
Definition: ci13lc_uart.c:255
uint32_t UartBaudSampleRateGet(UART_TypeDef *UARTx)
读取波特率检测的过采样率配置
Definition: ci13lc_uart.c:621
Definition: ci13lc_uart.h:190
void UART_NO_STOP_EN(UART_TypeDef *UARTx, FunctionalState cmd)
特殊情况下,数据传输master端不能发出stop。一段时间后,后续数据传输继续进行,该模块能恢复继续传输。 ...
Definition: ci13lc_uart.c:28
int UART_LCRConfig(UART_TypeDef *UARTx, UART_WordLength wordlength, UART_StopBits uartstopbits, UART_Parity uartparity)
配置UART的数据位、停止位、奇偶校验位
Definition: ci13lc_uart.c:134
int UART_ERRORSTATE(UART_TypeDef *UARTx, UART_ERRORFLAG uarterrorflag)
UART错误标志状态
Definition: ci13lc_uart.c:59
UART_ByteWord
UART总线数据传输模式定义
Definition: ci13lc_uart.h:118
UART_BaudStatus UartBaudStatusRead(UART_TypeDef *UARTx)
读波特率偏移状态
Definition: ci13lc_uart.c:598
FunctionalState
Definition: ci_system.h:46
void UartPollingSenddata(UART_TypeDef *UARTx, char ch)
UART 查询方式发送一个字节数据
Definition: ci13lc_uart.c:337
Definition: ci13lc_uart.h:134
Definition: ci13lc_uart.h:72
Definition: ci13lc_uart.h:133
void UART_IntMaskConfig(UART_TypeDef *UARTx, UART_IntMask intmask, FunctionalState cmd)
UART 中断屏蔽设置
Definition: ci13lc_uart.c:231
Definition: ci13lc_uart.h:212
Definition: ci13lc_uart.h:137
Definition: ci13lc_uart.h:148