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

📄 gpio.c

📁 智能卡的驱动程序,兼容iso-7817标准
💻 C
字号:
/*==============================================================================*/
/*  file name   : gpio.c		(ecr's gpio user  basic function)				*/
/*	compiler	: SPARC-RTEMS-GCC												*/
/*	author	  	: mr.zhou														*/
/*	copyright	: ORBITA Co.,Ltd.  All Right Reserved.At 2005-9-2				*/
/*==============================================================================*/

#include "System.h"
#include"gpio.h"

/************************************************************************/
/*	Description:														*/
/*     This function main do gpio direct register bit,					*/
/*     set a bit of  gpio enable or disable;							*/
/*	Parameters:															*/
/*     BYTE  gpio_num        this erc system include 3 gpio port		*/
/*     DWORD io_bit          the bit of gpio							*/
/*     BYTE  enable_dis      set this bit enable or disable --> 1 or 0	*/
/*	Return:																*/
/*     none																*/
/*	Syntax:																*/
/*     void Set_Gpio_Direct_Reg(BYTE gpio_num,							*/
/*                              DWORD io_bit,							*/
/*                              BYTE enable_dis)						*/
/************************************************************************/

void Set_Gpio_Direct_Reg(BYTE gpio_num,DWORD io_bit,BYTE enable_dis)
{
       DWORD temp_gpio;
    
       switch(gpio_num)
       {
       	   case GPI0_DIRECT:  {_Get_Reg_Value(temp_gpio , GPI0_DIR_REG);     break;}
       	   case GPI1_DIRECT:  {_Get_Reg_Value(temp_gpio , GPI1_DIR_REG);     break;}
       	   case GPI2_DIRECT:  {_Get_Reg_Value(temp_gpio , GPI2_DIR_REG);     break;} 
       	   default: return;   
       }
       
       if(enable_dis == ENABLE )
       {
                
                temp_gpio = temp_gpio | io_bit;
                
       }
       else if(enable_dis == DISABLE)
       {
       	       temp_gpio = temp_gpio & (~io_bit);
       }

       switch(gpio_num)
       {
       	   case GPI0_DIRECT:  {_Set_Reg_Value (GPI0_DIR_REG,temp_gpio) ;     break;}
       	   case GPI1_DIRECT:  {_Set_Reg_Value (GPI1_DIR_REG,temp_gpio) ;     break;}
       	   case GPI2_DIRECT:  {_Set_Reg_Value (GPI2_DIR_REG,temp_gpio) ;     break;} 
       	   default: return;   
       }      
}



/************************************************************************/
/*	Description:														*/
/*     This function main do gpio data register bit,					*/
/*     set a bit of gpio enable or disable;								*/
/*	Parameters:															*/
/*     BYTE  gpio_num        gpio direct register bit					*/
/*     DWORD io_bit          the bit of gpio							*/
/*     BYTE  enable_dis      set this bit enable or disable --> 1 or 0	*/
/*	Return:																*/
/*     none																*/
/*	Syntax:																*/
/*     void Set_Gpio_Data_Reg  (BYTE gpio_num,							*/
/*                              DWORD io_bit,							*/
/*                              BYTE enable_dis)						*/
/************************************************************************/

void Set_Gpio_Data_Reg(BYTE gpio_num,DWORD io_bit,BYTE enable_dis)
{
       DWORD temp_gpio;
    
       switch(gpio_num)
       {
       	   case GPI0_DATA:  {_Get_Reg_Value(temp_gpio , GPI0_DATA_REG);     break;}
       	   case GPI1_DATA:  {_Get_Reg_Value(temp_gpio , GPI1_DATA_REG);     break;}
       	   case GPI2_DATA:  {_Get_Reg_Value(temp_gpio , GPI2_DATA_REG);     break;} 
       	   default: return;   
       }
       
       if(enable_dis == ENABLE )
       {
                
                temp_gpio = temp_gpio | io_bit;
                
       }
       else if(enable_dis == DISABLE)
       {
       	       temp_gpio = temp_gpio & (~io_bit);
       }

       switch(gpio_num)
       {
       	   case GPI0_DATA:  {_Set_Reg_Value (GPI0_DATA_REG,temp_gpio) ;     break;}
       	   case GPI1_DATA:  {_Set_Reg_Value (GPI1_DATA_REG,temp_gpio) ;     break;}
       	   case GPI2_DATA:  {_Set_Reg_Value (GPI2_DATA_REG,temp_gpio) ;     break;} 
       	   default: return;   
       }      
}


⌨️ 快捷键说明

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