📄 gpio.c
字号:
/***********************************************************
文件名称: GPIO.c
作 者: ADVANCE-007
版 本: V1.0
说 明: 引脚初始化程序
修改记录: 20070308
***********************************************************/
/***************************************************************
******** 预定义说明 ********************
***************************************************************/
#include "GPIO.h"
#include "DATATYPE.H"
/***************************************************************
********** 常,变量定义区 * ********************
***************************************************************/
//uint8 SensorCell,SensorCell_before;
/***************************************************************
*** 函数说明,不含被其他函数用的函数说明 ********
***************************************************************/
/***************************************************************
********** 函数定义开始 ********************
**************************************************************/
/**********************************************
** 函数名称:void PX_GPIOInit(uint8 numX,uint8 dir)
** 功能描述:将PX口中,dir=OUT,num为1的位初始化为GPIO out
dir=IN,num为1的位初始化为GPIO in
** 输 入: num 需要初始化的管脚
** 输 出: 无
** 调用示例: P1_GPIOInit(BIT4,OUT);
*********************************************/
void P1_GPIOInit(uint8 num1,uint8 dir) //P1口中,dir=OUT,num为1的位设置成输出口,dir=IN,num为1的位设置成输入口
{
if(dir==OUT)P1DIR |= num1;
else P1DIR &=~ num1;
}
void P2_GPIOInit(uint8 num2,uint8 dir) //P2口中,dir=OUT,num为1的位设置成输出口,dir=IN,num为1的位设置成输入口
{
if(dir==OUT)P2DIR |= num2;
else P2DIR &=~ num2;
}
void P3_GPIOInit(uint8 num3,uint8 dir) //P3口中,dir=OUT,num为1的位设置成输出口,dir=IN,num为1的位设置成输入口
{
if(dir==OUT)P3DIR |= num3;
else P3DIR &=~ num3;
}
void P4_GPIOInit(uint8 num4,uint8 dir) //P4口中,dir=OUT,num为1的位设置成输出口,dir=IN,num为1的位设置成输入口
{
if(dir==OUT)P4DIR |= num4;
else P4DIR &=~ num4;
}
void P5_GPIOInit(uint8 num5,uint8 dir) //P5口中,dir=OUT,num为1的位设置成输出口,dir=IN,num为1的位设置成输入口
{
if(dir==OUT)P5DIR |= num5;
else P5DIR &=~ num5;
}
void P6_GPIOInit(uint8 num6,uint8 dir) //P6口中,dir=OUT,num为1的位设置成输出口,dir=IN,num为1的位设置成输入口
{
if(dir==OUT)P6DIR |= num6;
else P6DIR &=~ num6;
}
/*************************************************
** 函数名称:void PX_GPIOInterrupt(uint8 numX)
** 功能描述:将PX口中,num为1的位设为中断输入
** 输 入: num 需要初始化的管脚
** 输 出: 无
** 调用示例: P1_GPIOInterrupt(BIT4,IN); //将P1.4初始化为GPIO,且设置为输入模式
*************************************************/
void P1_GPIOInterrupt(uint8 num1,uint8 dir) //P1
{
if(dir==OUT)P1DIR |= num1;
else P1DIR &=~ num1;
P1IES |= num1; //num为1的位下降沿触发中断
P1IE |= num1; //允许num为1的位中断
}
//////////////PORT1 interrupt////////////////////////
interrupt[PORT1_VECTOR] void PORT1 (void)
{
//。。。
}
void P2_GPIOInterrupt(uint8 num2,uint8 dir) //P2
{
if(dir==OUT) P2DIR |= num2;
else P2DIR &=~ num2;
P2IES |= num2; //num为1的位下降沿触发中断
P2IE |= num2; //允许num为1的位中断
}
//////////////PORT2 interrupt////////////////////////
interrupt[PORT2_VECTOR] void PORT2 (void)
{
//。。。
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -