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

📄 gpio.c

📁 430做的一种门控系统的程序
💻 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 + -