HW UART

来自拉普兰德Wiki
跳转至: 导航搜索

固件说明

HW_UART.c和HW_UART.h是UART异步通讯串口的固件驱动文件,这里定义了该模块的初始化函数,数据接收、发送等函数。

结构体

UART_InitTypeDef

变量 描述 取值 初始化
UART_Type *UART_Uartx 选择UARTx UART0~UART5 必须初始化
uint32 UART_BaudRate 设置UARTx波特率 推荐取值:4800、9600、19200、38400、115200 不必须初始化,默认值9600
PortPinsEnum_Type UART_TxPin 发送引脚,每个UARTx对应不同的TxPin

UART0-PTA2、PTA14、*PTB17
UART1-PTE0、*PTC4
UART2-*PTD3
UART3-PTE4、PTB11、*PTC17
UART4-PTE24、*PTC15
UART5-PTD9、*PTE8

不必须初始化、默认值为带*的引脚
PortPinsEnum_Type UART_RxPin 接收引脚,每个UARTx对应不同的RxPin

UART0-PTA1、PTA15、*PTB16
UART1-PTE1、*PTC3
UART2-*PTD2
UART3-PTE5、PTB10、*PTC16
UART4-PTE25、*PTC14
UART5-PTD8、*PTE9

不必须初始化、默认值为带*的引脚
boolean UART_RxIntEnable 使能接收中断 TRUE-使能
FALSE-禁用
不必须初始化,默认值FALSE
boolean UART_TxIntEnable 使能发送中断 TRUE-使能
FALSE-禁用
不必须初始化,默认值FALSE
boolean UART_RxDMAEnable 使能接收DMA TRUE-使能
FALSE-禁用
不必须初始化,默认值FALSE
boolean UART_TxDMAEnable 使能发送DMA TRUE-使能
FALSE-禁用
不必须初始化,默认值FALSE
UART_FIFO_Config_T RxFIFO RxFIFO.FIFO_Enable
使能接收FIFO
TRUE-使能
FALSE-禁用
不必须初始化,默认值FALSE
UART_FIFO_Config_T RxFIFO RxFIFO.FIFO_BufFlow_IntEnable
使能FIFO buffer overflow 或者 underflow 中断
TRUE-使能
FALSE-禁用
不必须初始化,默认值FALSE
UART_FIFO_Config_T RxFIFO RxFIFO.FIFO_WaterMark
设置 FIFO waterMark,不能超过FIFO Size
0 -- FIFO Size 不必须初始化,默认值0
UART_FIFO_Config_T TxFIFO TxFIFO.FIFO_Enable
使能发送FIFO
TRUE-使能
FALSE-禁用
不必须初始化,默认值FALSE
UART_FIFO_Config_T TxFIFO TxFIFO.FIFO_BufFlow_IntEnable
使能FIFO buffer overflow 或者 underflow 中断
TRUE-使能
FALSE-禁用
不必须初始化,默认值FALSE
UART_FIFO_Config_T TxFIFO TxFIFO.FIFO_WaterMark
设置 FIFO waterMark,不能超过FIFO Size
0 -- FIFO Size 不必须初始化,默认值0
UART_ISR_CALLBACK UART_RxIsr 接收中断回调函数 函数必须为无返回值,无参数(eg. void isr(void);) 不必须初始化、如未初始化则不会触发中断
UART_ISR_CALLBACK UART_TxIsr 发送中断回调函数 函数必须为无返回值,无参数(eg. void isr(void);) 不必须初始化、如未初始化则不会触发中断

变量


函数

LPLD_UART_Init()

函数原型

void LPLD_UART_Init(UART_InitTypeDef);

描述

初始化UART通道、波特率、发送接收引脚

形参

类型 名称 描述 取值
UART_InitTypeDef uart_init_structure UART初始化结构体 结构体定义见UART_InitTypeDef

输出

LPLD_UART_GetChar()

函数原型

int8 LPLD_UART_GetChar(UART_Type *);

描述

UART获取一个字符

形参

类型 名称 描述 取值
UART_Type * uartx UART模块号 UART0~UART5

输出

串口接收的1个字节

LPLD_UART_GetChar_Present()

函数原型

int32 LPLD_UART_GetChar_Present(UART_Type *);

描述

检查是否接收到字符

形参

类型 名称 描述 取值
UART_Type * uartx UART模块号 UART0~UART5

输出

0--没有接收到字符:1--已经接收到字符

LPLD_UART_PutChar()

函数原型

void LPLD_UART_PutChar(UART_Type *, int8);

描述

UART发送一个字节

形参

类型 名称 描述 取值
UART_Type * uartx UART模块号 UART0~UART5
int8 ch 待发送的1个字节 8位整形数据

输出

LPLD_UART_PutCharArr()

函数原型

void LPLD_UART_PutCharArr(UART_Type *, int8*, int32);

描述

UART发送字节型数组

形参

类型 名称 描述 取值
UART_Type * uartx UART模块号 UART0~UART5
int8 * ch 待发送的字节数组头地址 8位整形数据
int32 len 字节数组长度 32位整形数据

输出

LPLD_UART_EnableIrq()

函数原型

void LPLD_UART_EnableIrq(UART_InitTypeDef);

描述

UART中断使能

形参

类型 名称 描述 取值
UART_InitTypeDef uart_init_structure UART初始化结构体 结构体定义见UART_InitTypeDef

输出

LPLD_UART_DisableIrq()

函数原型

void LPLD_UART_DisableIrq(UART_InitTypeDef);

描述

UART中断禁用

形参

类型 名称 描述 取值
UART_InitTypeDef uart_init_structure UART初始化结构体 结构体定义见UART_InitTypeDef

输出

LPLD_UART_RxFIFO_Flush()

函数原型

void LPLD_UART_RxFIFO_Flush(UART_Type *uartx);

描述

UART清空接收FIFO函数

形参

类型 名称 描述 取值
UART_Type * uartx UART模块号 UART0~UART5

输出

LPLD_UART_TxFIFO_Flush()

函数原型

void LPLD_UART_TxFIFO_Flush(UART_Type *uartx);

描述

UART清空发送FIFO函数

形参

类型 名称 描述 取值
UART_Type * uartx UART模块号 UART0~UART5

输出

其他