📄 gpio64x.h
字号:
(REG_WRITE(GPDIR_ADDR,(REG_READ(GPDIR_ADDR) & 0xFFFF7FFF) | 0x8000))
/***************GPIOx INPUT*******************/
#define GP0DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFFFFE) )
#define GP1DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFFFFD) )
#define GP2DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFFFFB) )
#define GP3DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFFFF7) )
#define GP4DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFFFEF) )
#define GP5DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFFFDF) )
#define GP6DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFFFBF) )
#define GP7DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFFF7F) )
#define GP8DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFFEFF) )
#define GP9DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFFDFF) )
#define GP10DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFFBFF) )
#define GP11DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFF7FF) )
#define GP12DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFEFFF) )
#define GP13DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFDFFF) )
#define GP14DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFFBFFF) )
#define GP15DIR_INPUT() \
( REG_WRITE(GPDIR_ADDR,REG_READ(GPDIR_ADDR) & 0xFFFF7FFF) )
/******************************************************************************\
* _ _ _ _ _ _ _ _ _ _
* | |
* | G P V A L |值寄存器
* |_ _ _ _ _ _ _ _ _ _|
*
* GPVAL - GPIO Value register
* GPEN & GPDIR must enable
\******************************************************************************/
/***************GPIOx write*******************/
#define GPxVAL_SET(bit) \
SET_BIT(GPVAL_ADDR,bit)//bit from 0 to 15
#define GPxVAL_RESET(bit) \
RESET_BIT(GPVAL_ADDR,bit)//bit from 0 to 15
/***************GPIOx read*******************/
#define GPxVAL_READ(bit) \
GET_BIT(GPVAL_ADDR,bit)//bit from 0 to 15
/******************************************************************************\
* _ _ _ _ _ _ _ _ _ _
* | |
* | G P D H |Delta 高寄存器
* |_ _ _ _ _ _ _ _ _ _|
*
* GPDH - GPIO Delta High register
* GPXEN=1(使能有效) 和 GPXDIR=0(GPn引脚为输入),该寄存器才起作用
* GPIO must be input
* read only register
\******************************************************************************/
/***************GPIOx read*******************/
#define GPxDH_READ(bit) \
GET_BIT(GPDH_ADDR,bit)//bit from 0 to 15
/******************************************************************************\
* _ _ _ _ _ _ _ _ _ _
* | |
* | G P D L |Delta 低寄存器
* |_ _ _ _ _ _ _ _ _ _|
*
* GPDL - GPIO Delta Low register
* GPXEN=1(使能有效) 和 GPXDIR=0(GPn引脚为输入),该寄存器才起作用
* GPIO must be input
* read only register
\******************************************************************************/
/***************GPIOx read*******************/
#define GPxDL_READ(bit) \
GET_BIT(GPDL_ADDR,bit)//bit from 0 to 15
/******************************************************************************\
* _ _ _ _ _ _ _ _ _ _
* | |
* | G P H M |高屏蔽寄存器
* |_ _ _ _ _ _ _ _ _ _|
*
* GPHM - GPIO High Mask register
* GPXEN=1(使能有效) 和 GPXDIR=0(GPn引脚为输入),该寄存器才起作用
* GPIO must be input
\******************************************************************************/
/***************GPIOx interrupt enable*******************/
#define GPxHM_SET(bit) \
SET_BIT(GPHM_ADDR,bit)//bit from 0 to 15
/***************GPIOx interrupt disable*******************/
#define GPxHM_RESET(bit) \
RESET_BIT(GPHM_ADDR,bit)//bit from 0 to 15
/******************************************************************************\
* _ _ _ _ _ _ _ _ _ _
* | |
* | G P L M |低屏蔽寄存器
* |_ _ _ _ _ _ _ _ _ _|
*
* GPLM - GPIO Low Mask register
* GPXEN=1(使能有效) 和 GPXDIR=0(GPn引脚为输入),该寄存器才起作用
* GPIO must be input
\******************************************************************************/
/***************GPIOx interrupt enable*******************/
#define GPxLM_SET(bit) \
SET_BIT(GPLM_ADDR,bit)//bit from 0 to 15
/***************GPIOx interrupt disable*******************/
#define GPxLM_RESET(bit) \
RESET_BIT(GPLM_ADDR,bit)//bit from 0 to 15
/******************************************************************************\
* _ _ _ _ _ _ _ _ _ _
* | |
* | G P G C |全局控制寄存器
* |_ _ _ _ _ _ _ _ _ _|
*
* GPGC - GPIO Global Control register
* (rw) GP0M
* (rw) GPINT0M
* (rw) GPINTPOL
* (rw) LOGIC
* (rw) GPINTDV
* GP0 must be output
\******************************************************************************/
/***********************GP0 output mode*******************/
/***********************GP0 输出模式*******************/
#define GPGC_GP0_LOGICMODE() \
SET_BIT(GPGC_ADDR,GP0M)
#define GPGC_GP0_GPIOMODE() \
RESET_BIT(GPGC_ADDR,GP0M)
/**********************GPINT0 mode*******************/
/*********************GPINT0中断/事件产生模式位*******************/
#define GPGC_GPINT0_PASSMODE() \
RESET_BIT(GPGC_ADDR,GPINT0M)
#define GPGC_GPINT0_LOGICMODE() \
SET_BIT(GPGC_ADDR,GPINT0M)
/***************GPINT polarity mode*******************/
/***************GPINT 极性模式*******************/
#define GPGC_GPINTPOL_TRUE() \
RESET_BIT(GPGC_ADDR,GPINTPOL)
#define GPGC_GPINTPOL_FALSE() \
SET_BIT(GPGC_ADDR,GPINTPOL)
/***************GPINT logic mode*******************/
/*********GPINT 逻辑模式选择位,只用于逻辑模式(GPINT0M=1)*******/
#define GPGC_LOGIC_ORMODE() \
RESET_BIT(GPGC_ADDR,LOGIC)
#define GPGC_LOGIC_ANDMODE() \
SET_BIT(GPGC_ADDR,LOGIC)
/***************GPINT Delte/Value mode*******************/
/***********GPINT Delte/Value 模式选择位***************/
#define GPGC_GPINTDV_DELTAMODE() \
RESET_BIT(GPGC_ADDR,GPINTDV)
#define GPGC_GPINTDV_VALUEMODE() \
SET_BIT(GPGC_ADDR,GPINTDV)
/******************************************************************************\
* _ _ _ _ _ _ _ _ _ _
* | |
* | G P P O L |中断极性寄存器
* |_ _ _ _ _ _ _ _ _ _|
*
* GPPOL - GPIO Interrupt Polarity register
* GPIO must be input
* 用于选择直接传递模式下(GPGC的GPINT0=0时)的GPINTn中断/时间信号的极性。
* GPGC寄存器的GPINT0M必须清除为0。
\******************************************************************************/
/***************GPIOx interrupt enable*******************/
#define GPxPOL_SET(bit) \
SET_BIT(GPPOL_ADDR,bit)//bit from 0 to 15
/***************GPIOx interrupt disable*******************/
#define GPxPOL_RESET(bit) \
RESET_BIT(GPPOL_ADDR,bit)//bit from 0 to 15
//intr.h中有重复定义
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -