📄 rd_useavrportbit.h
字号:
#ifndef _USE_AVR_PORT_BIT_H_
#define _USE_AVR_PORT_BIT_H_
/***********************************************************
* 声明库说明:AVR位操作通用支持库 *
* 版本: v1.10 *
* 作者: 傻孩子 *
* 创建日期: 2006年4月25日 *
* -------------------------------------------------------- *
* [支 持 库] *
* 库名称: RD_UseBITs.h *
* 需要版本: v1.00 &abv *
* 支持库说明:系统位段操作函数库 *
* *
* 库名称: RD_MacroAndConst.h *
* 需要版本: v0.01 &abv *
* 支持库说明:系统常用宏定义库 *
* -------------------------------------------------------- *
* [版本更新] *
* 修改: 傻孩子 *
* 修改日期: 2006年5月4日 *
* 版本: v1.01 *
* *
* 修改: 傻孩子 *
* 修改日期: 2007年7月17日 *
* 版本: v1.10 *
* -------------------------------------------------------- *
* [版本历史] *
* 前身版本 在该版本最终生成之前,经历过针对各种芯片的 *
* 专用版本,这些版本提供了针对PORT的位操作和 *
* 部分PIN、DDR的位操作。 *
* v1.00 该版本支持几乎所有的芯片,具有完善的宏定义 *
* 系统,相对前身版本最小的资源占用。增加了对 *
* 各种常用变量用户类型的定义。 *
* v1.01 增加了关于布尔型变量类型的宏定义。 *
* 修改了头文件的位段映射模式。通过统一的头文 *
* 件RD_UseBITs.h来实现位段类型的定义和声明。 *
* v1.10 规范了宏的名称DDR_PXn PIN_PXn *
* -------------------------------------------------------- *
* [使用说明] *
* 1、在使用该头文件之前先包含您需要使用的芯片 *
* 的官方头文件,例如:# include <iom8v.h> *
* 2、如果你不是ICC的用户,请在使用该头文件之前 *
* 先绑定各个端口的地址到相应的宏定义上,例如 *
* # define PORTA (*((volatile char *)0x3b)) *
* 3、如果你使用的是非ICC系统,请在调用文件之前 *
* 定义宏 _USE_NON_ICC_IDE。 *
* 4、可以使用SET_BITS_FORMAT(变量)把任意变量拆 *
* 成位定义的模式。 *
***********************************************************/
/********************
* 头 文 件 配 置 区 *
********************/
# include "RD_UseBITs.h"
/********************
* 系 统 宏 定 义 *
********************/
/*------------------*
* 常 数 宏 定 义 *
*------------------*/
#ifndef PDIR_OUT
# define PDIR_OUT 0x01
#endif
#ifndef PDIR_IN
# define PDIR_IN 0x00
#endif
/*------------------*
* 硬 件 连 接 定 义 *
*------------------*/
/*---------------- PORT口绑定 ---------------*/
#ifdef PORTA
# define PORTA_BIT SET_BIT8_FORMAT(PORTA)
#endif
#ifdef PORTB
# define PORTB_BIT SET_BIT8_FORMAT(PORTB)
#endif
#ifdef PORTC
# define PORTC_BIT SET_BIT8_FORMAT(PORTC)
#endif
#ifdef PORTD
# define PORTD_BIT SET_BIT8_FORMAT(PORTD)
#endif
#ifdef PORTE
# define PORTE_BIT SET_BIT8_FORMAT(PORTE)
#endif
#ifdef PORTF
# define PORTF_BIT SET_BIT8_FORMAT(PORTF)
#endif
#ifdef PORTG
# define PORTG_BIT SET_BIT8_FORMAT(PORTG)
#endif
/*---------------- DDR 口绑定 ---------------*/
#ifdef DDRA
# define DDRA_BIT SET_BIT8_FORMAT(DDRA)
#endif
#ifdef DDRB
# define DDRB_BIT SET_BIT8_FORMAT(DDRB)
#endif
#ifdef DDRC
# define DDRC_BIT SET_BIT8_FORMAT(DDRC)
#endif
#ifdef DDRD
# define DDRD_BIT SET_BIT8_FORMAT(DDRD)
#endif
#ifdef DDRE
# define DDRE_BIT SET_BIT8_FORMAT(DDRE)
#endif
#ifdef DDRF
# define DDRF_BIT SET_BIT8_FORMAT(DDRF)
#endif
#ifdef DDRG
# define DDRG_BIT SET_BIT8_FORMAT(DDRG)
#endif
/*---------------- PIN 口绑定 ---------------*/
#ifdef PINA
# define PINA_BIT SET_BIT8_FORMAT(PINA)
#endif
#ifdef PINB
# define PINB_BIT SET_BIT8_FORMAT(PINB)
#endif
#ifdef PINC
# define PINC_BIT SET_BIT8_FORMAT(PINC)
#endif
#ifdef PIND
# define PIND_BIT SET_BIT8_FORMAT(PIND)
#endif
#ifdef PINE
# define PINE_BIT SET_BIT8_FORMAT(PINE)
#endif
#ifdef PINF
# define PINF_BIT SET_BIT8_FORMAT(PINF)
#endif
#ifdef PING
# define PING_BIT SET_BIT8_FORMAT(PING)
#endif
/*------------------*
* 端 口 宏 定 义 *
*------------------*/
/*-------------PORT位操作定义--------------*/
#ifdef PORTA
# define _PA0 PORTA_BIT.BIT0
# define _PA1 PORTA_BIT.BIT1
# define _PA2 PORTA_BIT.BIT2
# define _PA3 PORTA_BIT.BIT3
# define _PA4 PORTA_BIT.BIT4
# define _PA5 PORTA_BIT.BIT5
# define _PA6 PORTA_BIT.BIT6
# define _PA7 PORTA_BIT.BIT7
#endif
#ifdef PORTB
# define _PB0 PORTB_BIT.BIT0
# define _PB1 PORTB_BIT.BIT1
# define _PB2 PORTB_BIT.BIT2
# define _PB3 PORTB_BIT.BIT3
# define _PB4 PORTB_BIT.BIT4
# define _PB5 PORTB_BIT.BIT5
# define _PB6 PORTB_BIT.BIT6
# define _PB7 PORTB_BIT.BIT7
#endif
#ifdef PORTC
# define _PC0 PORTC_BIT.BIT0
# define _PC1 PORTC_BIT.BIT1
# define _PC2 PORTC_BIT.BIT2
# define _PC3 PORTC_BIT.BIT3
# define _PC4 PORTC_BIT.BIT4
# define _PC5 PORTC_BIT.BIT5
# define _PC6 PORTC_BIT.BIT6
# define _PC7 PORTC_BIT.BIT7
#endif
#ifdef PORTD
# define _PD0 PORTD_BIT.BIT0
# define _PD1 PORTD_BIT.BIT1
# define _PD2 PORTD_BIT.BIT2
# define _PD3 PORTD_BIT.BIT3
# define _PD4 PORTD_BIT.BIT4
# define _PD5 PORTD_BIT.BIT5
# define _PD6 PORTD_BIT.BIT6
# define _PD7 PORTD_BIT.BIT7
#endif
#ifdef PORTE
# define _PE0 PORTE_BIT.BIT0
# define _PE1 PORTE_BIT.BIT1
# define _PE2 PORTE_BIT.BIT2
# define _PE3 PORTE_BIT.BIT3
# define _PE4 PORTE_BIT.BIT4
# define _PE5 PORTE_BIT.BIT5
# define _PE6 PORTE_BIT.BIT6
# define _PE7 PORTE_BIT.BIT7
#endif
#ifdef PORTF
# define _PF0 PORTF_BIT.BIT0
# define _PF1 PORTF_BIT.BIT1
# define _PF2 PORTF_BIT.BIT2
# define _PF3 PORTF_BIT.BIT3
# define _PF4 PORTF_BIT.BIT4
# define _PF5 PORTF_BIT.BIT5
# define _PF6 PORTF_BIT.BIT6
# define _PF7 PORTF_BIT.BIT7
#endif
#ifdef PORTG
# define _PG0 PORTG_BIT.BIT0
# define _PG1 PORTG_BIT.BIT1
# define _PG2 PORTG_BIT.BIT2
# define _PG3 PORTG_BIT.BIT3
# define _PG4 PORTG_BIT.BIT4
# define _PG5 PORTG_BIT.BIT5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -