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

📄 sio.h

📁 bootloader
💻 H
字号:
head	1.1;access;symbols;locks	ICCAVR:1.1; strict;comment	@ * @;1.1date	2006.11.14.14.10.17;	author ICCAVR;	state Exp;branches;next	;desc@对方@1.1log@Initial revision@text@/***********************************************************************************************************				          			serial   driver 头文件**                                  (c) Copyright 2005-2006, limaokui**                                           All Rights Reserved****                                                  V1.0.0******--------------文件信息--------------------------------------------------------------------------------**文   件   名:sio.h**创   建   人: 李茂奎**最后修改日期:  2005年7月13日**描        述: serial   driver 头文件****--------------历史版本信息----------------------------------------------------------------------------** 创建人: 李茂奎** 版  本: V1.00** 日 期: 2005年7月13日** 描 述: 原始版本****------------------------------------------------------------------------------------------------------** 修改人:李茂奎** 版  本: V1.01** 日 期:2005年8月1日** 描 述:对AVR的移植****--------------当前版本修订------------------------------------------------------------------------------** 修改人: ** 日 期:** 描 述:****------------------------------------------------------------------------------------------------------*********************************************************************************************************/#ifndef __sio_H__#define __sio_H__  1#define USEUART0  TRUE#define USEUART1  FALSE#define RBUF_SIZE	10#define TBUF_SIZE   10typedef struct{uint8 R_front;uint8 R_rear;uint8 R_count;uint8 R_overflow;uint8 R_buf[RBUF_SIZE];uint8 T_front;uint8 T_rear;uint8 T_count;uint8 T_buf[TBUF_SIZE];uint8 T_disabled;}siocirqueue;#if USEUART0extern siocirqueue RTbuf_UART0;#endif#if USEUART1extern siocirqueue RTbuf_UART1;#endif#define RXB8 1#define TXB8 0#define UPE  2#define OVR	 3#define FE	 4#define UDRE 5#define RXC	 7#define	FRAMING_ERROR  (1<<FE)#define	PARITY_ERROR  (1<<UPE)#define	DATA_OVERRUN  (1<<OVR)#define	RX_COMPLETE  (1<<RXC)#if USEUART1		  #define REV_EN()             \        {UCSR0B|=BIT(RXCIE0);  \			UCSR1B|=BIT(RXCIE1);  \		}#else#define REV_EN()   UCSR0B|=BIT(RXCIE0)	#endif	#if USEUART1	#define REV_DIS()              \        {UCSR0B&=~BIT(RXCIE0); \		UCSR1B&=~BIT(RXCIE1);  \		}#else#define REV_DIS()              \        {UCSR0B&=~BIT(RXCIE0); \		}#endif	#if USEUART1	#define TXC_EN()               \        {UCSR0B|=BIT(TXCIE0);  \		UCSR1B|=BIT(TXCIE1);  \		}#else#define TXC_EN()               \        {UCSR0B|=BIT(TXCIE0);  \		}#endif	#if USEUART1		#define TXC_DIS()              \        {UCSR0B&=~BIT(TXCIE0); \		UCSR1B&=~BIT(TXCIE1); \		}#else#define TXC_DIS()              \        {UCSR0B&=~BIT(TXCIE0); \		}	#endif			//定义延时定时器序号		#define Delay_Comget 2#define MaxLimit_Comget_Delay 5						extern	void Rbuf_init(siocirqueue *RTbuf);/*********************************************************************************************************** 函数名称: Rbuf_init** 功能描述: 接收缓冲区初始化** 输 入: ** 输出	 : ** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************/extern	uint8 Rbuf_empty(siocirqueue *RTbuf);/*********************************************************************************************************** 函数名称: Rbuf_empty** 功能描述: 接收缓冲区判空** 输 入: ** 输出	 :  TRUE 空 FALSE 非空** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************///extern	uint8 Rbuf_full(void);/*********************************************************************************************************** 函数名称: Rbuf_full** 功能描述: 接收缓冲区判满** 输 入: ** 输出	 :  TRUE 满 FALSE 非满** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************///extern	void  Rbuf_putchar (uint8 x);/*********************************************************************************************************** 函数名称: Rbuf_putchar** 功能描述: 把一个字符放入接收缓冲区** 输 入: ** 输出	 :  ** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************/extern	uint8 Rbuf_getchar(siocirqueue *RTbuf);/*********************************************************************************************************** 函数名称: Rbuf_putchar** 功能描述: 从接收缓冲区读一个字符** 输 入: ** 输出	 :  读字符** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************///extern	uint8 * Rbuf_getstring(void);/*********************************************************************************************************** 函数名称: Rbuf_getstring** 功能描述: 从接收缓冲区返回当前子串指针** 输 入: ** 输出	 :  当前子串指针** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************/extern	void Tbuf_init(siocirqueue *RTbuf);/*********************************************************************************************************** 函数名称: Tbuf_init** 功能描述: 发送缓冲区初始化** 输 入: ** 输出	 : ** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************///extern	uint8 Tbuf_empty(void);/*********************************************************************************************************** 函数名称: Tbuf_empty** 功能描述: 发送缓冲区判空** 输 入: ** 输出	 :  TRUE 空 FALSE 非空** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************/extern	uint8 Tbuf_full(siocirqueue *RTbuf);/*********************************************************************************************************** 函数名称: Tbuf_full** 功能描述: 发送缓冲区判满** 输 入: ** 输出	 :  TRUE 满 FALSE 非满** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************/extern	void Tbuf_putchar(uint8 x,siocirqueue *RTbuf);/*********************************************************************************************************** 函数名称: Tbuf_putchar** 功能描述: 把一个字符放入发送缓冲区** 输 入: ** 输出	 :  ** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************///extern	uint8 Tbuf_getchar(void);/*********************************************************************************************************** 函数名称: Tbuf_getchar** 功能描述: 从发送缓冲区读一个字符** 输 入: ** 输出	 :  读字符** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************///extern	uint8 *Tbuf_getstring(void);/*********************************************************************************************************** 函数名称: Tbuf_getstring** 功能描述: 从发送缓冲区返回当前子串指针** 输 入: ** 输出	 :  当前子串指针** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************/extern	void Com_init (void); 	/*********************************************************************************************************** 函数名称: Com_init** 功能描述: 初始化串行口** 输 入: ** 全局变量: 无** 调用模块: Com_baudrate** 说明:** 注意:********************************************************************************************************/extern	void Com_baudrate (uint16 baudrate);	/*********************************************************************************************************** 函数名称: Com_baudrate** 功能描述: 利用定时器T1产生由参数baudrate指定的波特率** 输 入: baudrate指定的波特率** 全局变量: 无** 调用模块: 无** 说明:** 注意:********************************************************************************************************/extern	uint8 Com_putchar (uint8 c,siocirqueue *RTbuf);	/*********************************************************************************************************** 函数名称: Com_putchar** 功能描述: 从串行口输出一个字符c** 输 入: c:输出字符** 输出	 : 0:失败 1:成功** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************/extern	uint8 Com_getchar (uint8 mode,siocirqueue *RTbuf);		/*********************************************************************************************************** 函数名称: Com_getchar** 功能描述: 从串行口输入一个字符** 输 入: mode:0不需等待,在调用函数前检测Com_R_count的值**              1 等待数据到来** 输出	 : 读入的字符** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************/extern	uint8 Com_R_count(siocirqueue *RTbuf);/*********************************************************************************************************** 函数名称: Com_R_count** 功能描述: 返回接收缓冲区字符个数函数** 输 入: ** 输出	 : 字符个数** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************/extern	void Com_putstring (uint8 *p,uint8 len,siocirqueue *RTbuf);/*********************************************************************************************************** 函数名称: Com_putstring** 功能描述: 从串行口输出一个字符串** 输 入: p:指向输出字符串 len:输出长度** 输出	 : ** 全局变量: 无** 调用模块: ** 说明:** 注意:********************************************************************************************************/extern uint8 Com_getstring (uint8 *p,uint8 len,siocirqueue *RTbuf);extern void Com_Rbuf_Clear(siocirqueue *RTbuf);#endif@

⌨️ 快捷键说明

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