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

📄 w90p710_uart_int.h

📁 基于中断的串口驱动~~~~~~~~~~~~~~~~~~
💻 H
字号:
#ifndef W90P710_UART_INT_H_
#define W90P710_UART_INT_H_

#ifdef	__cplusplus
extern	"C" {
#endif

/**************************** 引用部分 *****************************************/
//引入寄存器变量定义
#include "W90P710_REG.H"
//引入标准的bool变量定义
#include <stdbool.h>
//引入对可变参数的函数定义
#include <stdarg.h>

/**************************** 声明部分 *****************************************/
typedef enum T_UART_PORT_ENUM
{
	UART_PORT0 = 0,
	UART_PORT1 = 1
}T_UART_PORT;

typedef enum T_UART_BANDRATE_ENUM
{
	B115200= 115200,		
	B57600 = 57600,
	B38400 = 38400,
	B19200 = 19200, 
	B9600  = 9600 
}T_UART_BANDRATE;

typedef enum T_UART_DATABITS_ENUM
{
	B5 = 5,
	B6 = 6,
	B7 = 7,
	B8 = 8	
}T_UART_DATABITS;
typedef enum T_UART_PARITY_ENUM
{
	NONE = 0,
	ODD	 = 1,
	EVEN = 2,
	MARK = 3,
	SPACE= 4	
}T_UART_PARITY;

typedef enum T_UART_STOPBITS_ENUM
{
	B1  = 0,
	B15 = 1,
	B2  = 2
}T_UART_STOPBITS;

/*****************************************************************************
* UART默认设置
******************************************************************************/
#define UART_DEFAULT_CLK        (15000000)
#define UART_DEFAULT_BANDRATE   (B115200)
#define UART_DEFAULT_DATABITS   (B8)
#define UART_DEFAULT_PARITY     (NONE)
#define UART_DEFAULT_STOPBITS   (B1)

//RFITL
#define UART0_RFITL              0			//FCR的RFITL
#define UART1_RFITL              0

//buffer size
#define TX0BUFSIZE               32		//发送缓冲大小
#define TX1BUFSIZE               32 
#define RX0BUFSIZE               32		//接收缓冲大小
#define RX1BUFSIZE               32

/*****************************************************************************
* 如果是串口0
* 清除 GPIO5、GPIO6的配置 串口0
* 设置 GPIO5、GPIO6的配置为串口使用模式

* 如果是串口1
* 清除 GPIO7、GPIO8的配置 串口1
* 设置 GPIO7、GPIO8的配置为串口使用模式
******************************************************************************/
void Uart_Int_Init(T_UART_PORT /*uartPortNo*/);


/*****************************************************************************
* 
* 为指定串口设置波特率
* 
******************************************************************************/
void Uart_Int_SetBandRate(T_UART_PORT /*uartPortNo*/,T_UART_BANDRATE /*bandRate*/);

/*****************************************************************************
* 为指定串口设置数据位的长度
******************************************************************************/
void Uart_Int_SetDataBits(T_UART_PORT /*uartPortNo*/,T_UART_DATABITS /*dataBits*/);


/*****************************************************************************
* 为指定串口设置数据校验位
******************************************************************************/
void Uart_Int_SetParity(T_UART_PORT /*uartPortNo*/,T_UART_PARITY /*parity*/);


/*****************************************************************************
* 为指定串口设置数据停止位
******************************************************************************/
void Uart_Int_SetStopBits(T_UART_PORT /*uartPortNo*/,T_UART_STOPBITS /*stopBits*/);

/*****************************************************************************
* 从指定串口读取一个字符
******************************************************************************/
unsigned char	Uart_Int_GetChar(T_UART_PORT /*uartPortNo*/);

/*****************************************************************************
* 向指定串口发送一个字符
******************************************************************************/
void Uart_Int_PutChar(T_UART_PORT /*uartPortNo*/,unsigned char /*sendChar*/);

/*****************************************************************************
* 从指定串口读取一个字符串
******************************************************************************/
unsigned char* Uart_Int_GetString(T_UART_PORT /*uartPortNo*/,unsigned char* /*getString*/,bool /*echo*/);

/*****************************************************************************
* 向指定串口发送一个字符串
******************************************************************************/
void Uart_Int_PutString(T_UART_PORT /*uartPortNo*/,unsigned char* /* fmt */, ...);

/*****************************************************************************
* 向指定串口发送一个字符串,在结尾添加回车符和换行符
******************************************************************************/
void Uart_Int_PutLine(T_UART_PORT /*uartPortNo*/,unsigned char* /* fmt */, ...);

/*****************************************************************************
* 延时,并向指定串口不断发送字符"."以提示程序正在延时
******************************************************************************/
void Uart_Int_Delay(T_UART_PORT /*uartPortNo*/,int /*times*/);

/*****************************************************************************
* 将指定串口缓冲区立刻送出
******************************************************************************/
void Uart_Int_Sync(T_UART_PORT /*uartPortNo*/);

#ifdef	__cplusplus
}
#endif

#endif /*W90P710_UART_INT_H_*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -