⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart.h

📁 philips arm7 lpc2103的常用功能的库函数第二部分
💻 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 + -