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

📄 uart0.h

📁 基于ARM7处理器的中断与串口在ucos下切换的演示程序
💻 H
字号:

/*------------------------------------------------------------
	模块名: Uart0.h:
    描  述: 串口0接口函数头文件 
  ------------------------------------------------------------*/
 
#ifndef  UART0_H
#define  UART0_H

#define CNTLQ      0x11
#define CNTLS      0x13
#define DEL        0x7F
#define BACKSPACE  0x08
//#define P_FLAG   0x7E   // PPP 协议起始结束标志
#ifndef CR
#define CR         0x0D
#endif

#ifndef LF
#define LF         0x0A
#endif


#define LenTxBuf0   1024 //1600		/* 定义发送缓冲区大小,该值=1时,等效于同步发送 */
#define LenRxBuf0   1024 //1600  	/* 定义接收缓冲区大小,该值越大,则中断屏蔽对串口接收越有利 */
//#define uart0_LenRxBuf   256 //512
#define TABNum     4    	/* TAB键移动长度 */

#define CTS_DATA_MAX      800  //高位标志
#define CTS_DATA_MIN      200  //低位标志

#define FPCLK      Fpclk  	/* 定义Fpclk值,用于设置串口波特率 */

typedef struct UartMode
{
    uint32 baudrate; // 串口波特率
    uint8  datab;    // 字长度,5/6/7/8
    uint8  stopb;    // 停止位,1/2
    uint8  parity;   // 奇偶校验位,0为无校验,1奇数校验,2为偶数校验
}UARTMODE;

/*------------------------------------------------------------
** 函数名称: UART0_Ini
** 功能描述: 初始化串口0。设置其工作模式及波特率。
** 输   入: set  模式设置(UARTMODE数据结构)
** 输   出: 无
** 返    回: 0-成功设置        
** 全局变量: 无
** 调用模块: TargetInit
------------------------------------------------------------*/
extern uint8  UART0_Ini(UARTMODE *set);
/*------------------------------------------------------------
** 函数名称: Uart0_Exception
** 功能描述: 串口UART0中断函数。
** 输   入: 无
** 输   出: 无
** 返    回: 无  
** 全局变量: 无
** 调用模块: vectors.s
------------------------------------------------------------*/
extern void   Uart0_Exception(void);

/*------------------------------------------------------------
** 函数名称: PutChar
** 功能描述: 从UART0往外发送一字节
** 输   入: 待发送数据
** 输   出: 无
** 返    回: 待发送数据 
** 全局变量: 无
** 调用模块: 
------------------------------------------------------------*/
extern char   PutChar(char c);

/*------------------------------------------------------------
** 函数名称: PutString
** 功能描述: 从UART0往外发送一字符串
**           遇字节结束苻'\0'停止发送
** 输   入: 待发送数据
** 输   出: 无
** 返    回: 无 
** 全局变量: 无
** 调用模块: 
------------------------------------------------------------*/
extern void   PutString(char *Str);


/*------------------------------------------------------------
** 函数名称: UART0_PutData
** 功能描述: 从UART0往外发送一指定长度字符串,
** 输   入: str 待发送数据
**           len 发送数据长度
** 输   出: 无
** 返    回: 无 
** 全局变量: 无
** 调用模块: 
------------------------------------------------------------*/
int UART0_PutData(char *str,int len);

/*------------------------------------------------------------
** 函数名称: output
** 功能描述: 从UART0串口发送一字符串
** 输   入: buf 待发送数据
** 输   出: 无
** 返    回: 无
** 全局变量: 无
** 调用模块: 
------------------------------------------------------------*/
extern void   output(char* buf);

/*------------------------------------------------------------
** 函数名称: OutString
** 功能描述: 从UART0串口发送一字符串
** 输   入: buf 待发送数据
** 输   出: 无
** 返    回: 无
** 全局变量: 无
** 调用模块: 
------------------------------------------------------------*/
extern void OutString(char* buf);
extern int  uart0_Read_Data(char* buffer, int limit);
extern void uart0_sem_read(void);

extern int rsRead(char * buf, int len, int timeout);
extern void rsWrite(char * buf, int len);
extern char GetChar(int timeout);





// 判断RTS,
#endif

⌨️ 快捷键说明

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