📄 uart.h
字号:
/***********************************************Copyright (c)*********************************************
** Guangzou ZLG-MCU Development Co.,LTD.
**
** http://www.zlgmcu.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name: uart.h
** Last modified Date: 2007-10-15
** Last Version: 1.0
** Descriptions: uart头文件
**
**--------------------------------------------------------------------------------------------------------
** Created by: wengshujie
** Created date: 2007-10-15
** Version: 1.0
** Descriptions: 该头文件在CONFIG.h中包括
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified Date:
** Version:
** Descriptions:
**
*********************************************************************************************************/
#ifndef __UART_H
#define __UART_H
/*********************************************************************************************************
UART器件编号,,用户不可修改
*********************************************************************************************************/
#define UART0 0
#define UART1 1
/*********************************************************************************************************
配置UART软件FIFO长度,用户可修改
*********************************************************************************************************/
#define QUEUE0REVICEFIFOLEN 128 /* 用户可在此修改接收软FIFO大小*/
#define QUEUE0SENDFIFOLEN 128 /* 用户可在此修改发送软FIFO大小*/
#define QUEUE0REVICEFIFOLENFUN QUEUE0REVICEFIFOLEN+28 /* 用户不要修改 */
#define QUEUE0SENDFIFOLENFUN QUEUE0SENDFIFOLEN+28 /* 用户不要修改 */
#define QUEUE1REVICEFIFOLEN 128 /* 用户可在此修改接收软FIFO大小*/
#define QUEUE1SENDFIFOLEN 128 /* 用户可在此修改发送软FIFO大小*/
#define QUEUE1REVICEFIFOLENFUN QUEUE1REVICEFIFOLEN+28 /* 用户不要修改 */
#define QUEUE1SENDFIFOLENFUN QUEUE1SENDFIFOLEN+28 /* 用户不要修改 */
/*********************************************************************************************************
定义Uart器件数目
*********************************************************************************************************/
#define __UART_MAX_NUM 2 /* LPC213x有2个UART */
/*********************************************************************************************************
** Function name: uartInit
** Descriptions: 串口初始化
** input parameters: uiId: 子设备号
** pcArg: 字符串指针
** pRsv: 保留参数
** Output parameters: NONE
** Returned value: OPERATE_SUCCESS: 操作成功
** OPERATE_FAIL: 操作失败
** Example: char pUart[]="BaudRate=9600,DataBits=8,StopBits=1,Parity=NONE,RtsControl=NONE";
** uartInit(0,pUart,0);
*********************************************************************************************************/
extern int32 uartInit (uint32 uiId,
char *pcArg,
void *pRsv);
/*********************************************************************************************************
** Function name: uartSetMode
** Descriptions: 设置串口的参数
** input parameters: uiId : 子设备号
** uiCmd :设置参数宏:CTMODE--串口模式;BAUDRATE--串口波特率
** pcArg :字符串指针
** Output parameters: NONE
** Returned value: OPERATE_SUCCESS: 操作成功
** OPERATE_FAIL: 操作失败
** Example1: char pUartBps[] = "BaudRate=9600";
** uartSetMode( 0, BAUDRATE, pUartBps);
** Example2: char pUart[]="DataBits=8,StopBits=1,Parity=NONE,RtsControl=NONE";
** uartSetMode( 0, CTMODE, pUart);
********************************************************************************************************/
extern int32 uartSetMode (uint32 uiId,
uint32 uiCmd,
char *pcArg);
/*********************************************************************************************************
** Function name: uartGetState
** Descriptions: 获取当前串口的参数
** input parameters: uiId: 子设备号
** pcArg: 字符串指针
** Output parameters: pcArg: 输出字符串参数
** Returned value: OPERATE_SUCCESS: 操作成功
** OPERATE_FAIL: 操作失败
********************************************************************************************************/
extern int32 uartGetState (uint32 uiId, char *pcArg);
/*********************************************************************************************************
** Function name: uartFifoStatus
** Descriptions: 获取Queue队列的状态
** input parameters: uiId: 子设备号
** uiWhichFifo: TX_FIFO-发送队列;RX_FIFO-接收队列
** Returned value: 发送队列中可操作的空间大小,或接收队列中可用数据个数
********************************************************************************************************/
extern int32 uartFifoStatus (uint32 uiId, uint32 uiWhichFifo);
/*******************************************************************************************************
** Function name: uartFifoFlush
** Descriptions: 清空接收或发送Queue队列
** input parameters: uiId: UART子设备号
** uiWhichFifo: TX_FIFO-发送队列;RX_FIFO-接收队列
** Output parameters: NONE
** Returned value: OPERATE_SUCCESS: 操作成功
** OPERATE_FAIL: 操作失败
*******************************************************************************************************/
extern int32 uartFifoFlush(uint32 uiId, uint32 uiWhichFifo);
/*********************************************************************************************************
** Function name: uartRead
** Descriptions: 从串口设备读取数据
** input parameters: uiId: 子设备号
** puiBuf: 保存返回数据的字符串指针地址
** uiNum: 读取的数据个数
** pRsv: 保留参数
** Output parameters: puiBuf: 读到的数据首地址
** Returned value: 实际读取的数据个数
********************************************************************************************************/
extern int32 uartRead (uint32 uiId,
uint8 *puiBuf,
uint32 uiNum,
void *pRsv);
/*********************************************************************************************************
** Function name: uartWrite
** Descriptions: 向串口设备写数据
** input parameters: uiId: 子设备号
** puiBuf: 输出数据的字符串指针地址
** uiNum: 一次写入的数据个数
** pRsv: 保留参数
** Output parameters: NONE
** Returned value: 实际发送的数据个数
********************************************************************************************************/
extern int32 uartWrite (uint32 uiId,
uint8 *puiBuf,
uint32 uiNum,
void *pRsv);
/*********************************************************************************************************
** Function name: uartDirectWrite
** Descriptions: 向串口设备直接发送数据
** input parameters: uiId : 子设备号
** uiData : 输出的数据
** Rsv : 保留参数(NULL)
** Output parameters: NONE
** Returned value: 实际发送的数据个数(1或0);
********************************************************************************************************/
extern int32 uartDirectWrite (uint32 uiId, uint8 uiData);
/*********************************************************************************************************
** Function name: uart0Isr
** Descriptions: UART0中断入口函数
** input parameters: NONE
** Output parameters: NONE
** Returned value: 无
********************************************************************************************************/
extern void uart0Isr (void);
/*********************************************************************************************************
** Function name: uart1Isr
** Descriptions: UART1中断入口函数
** input parameters: NONE
** Output parameters: NONE
** Returned value: 无
********************************************************************************************************/
extern void uart1Isr (void);
#endif /* __UART_H */
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -