通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器。将数据由串行通信与并行通信间作传输转换,作为并行输入成为串行输出的芯片。UART的一帧数据主要包括起始信号、数据、校验位和结束信号。
串口芯片的初始化流程一般如下:
(1)设置发送数据和接收数据的长度为8位;
(2)设置FIFO控制寄存器;包括使能FIFO寄存器,清空发送FIFO缓冲器和接收FIFO缓冲器。
(3)设置波特率分频因子;
(4)设置串口时钟频率;
(5)设置中断使能寄存器,禁止中断;
1、串口初始化
#define UINT32 unsigned int
#define UINT8 unsigned char
#define UART_TIME_FOREVER (0x0) /* 串口永久定时 */
#define UART_MAX_LOOP (0x5000) /* 默认循环次数 */
#define UART_BAUD (9600) /* 串口默认波特率*/
#define UARTx_USR_BUSY (0x00000001) /* 串口忙碌状态 */
#define UARTx_USR_TFNF (0x00000002) /* 发送FIFO未满状态 */
#define UARTx_USR_TFE (0x00000003) /* 发送FIFO空标志 */
#define UARTx_USR_R