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

📄 gpio_reg32.c

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 C
字号:
/*===============================================================================
            TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION           
                                                                             
   Property of Texas Instruments 
   For  Unrestricted  Internal  Use  Only 
   Unauthorized reproduction and/or distribution is strictly prohibited.  
   This product is protected under copyright law and trade secret law 
   as an unpublished work.  
   Created 1999, (C) Copyright 1999 Texas Instruments.  All rights reserved.
   Filename             : gpio.c

   Description          : Source file of GPIO ARM9 functions 
				This file manages GPIO with 32 bits registers

   Project              : PerseusG4

   Author               : Sebastien SABATIER
 
===============================================================================
*/

#include "gpio_reg32.h"


/*
-------------------------------------------------------------------------
     GPIO_ReadAllDir        
	  DESCRIPTION : read GPIO inputs
-------------------------------------------------------------------------
*/ 
UWORD32 GPIO_ReadAllDir (Mpuio_module_t mpuio_module)
{
  UWORD32 value = *(REGISTER_UWORD32*)(GPIO_REG32_DIR_REG_ADDR + mpuio_module * MEM_RHEA_STROBE_LENGTH);

  return value;
}

/*
-------------------------------------------------------------------------
     GPIO_ReadAllDor                                                      -
	  DESCRIPTION : read GPIO output values
-------------------------------------------------------------------------
*/ 
UWORD32 GPIO_ReadAllDor (Mpuio_module_t mpuio_module)
{
  
  UWORD32 value = *(REGISTER_UWORD32*)(GPIO_REG32_DOR_REG_ADDR + mpuio_module * MEM_RHEA_STROBE_LENGTH);
 
  return value;
}

/*
-------------------------------------------------------------------------
     GPIO_ReadAllDcr                                                      -
	  DESCRIPTION : read direction input/output pins
	  0 = output
	  1 = input
	  
-------------------------------------------------------------------------
*/ 
UWORD32 GPIO_ReadAllDcr (Mpuio_module_t mpuio_module)
{
  
  UWORD32 value = *(REGISTER_UWORD32*)(GPIO_REG32_DCR_REG_ADDR + mpuio_module * MEM_RHEA_STROBE_LENGTH);
 
  return value;
}

/*
-------------------------------------------------------------------------
     GPIO_ReadAllIcr                                                      -
	  DESCRIPTION : read interrupt control register 
	  0 = high to low transition
	  1 = low to high transition
-------------------------------------------------------------------------
*/ 
UWORD32 GPIO_ReadAllIcr (Mpuio_module_t mpuio_module)
{
  
  UWORD32 value = *(REGISTER_UWORD32*)(GPIO_REG32_ICR_REG_ADDR + mpuio_module * MEM_RHEA_STROBE_LENGTH);
 
  return value;
}



/*
-------------------------------------------------------------------------
     GPIO_ReadAllImr                                                      -
	  DESCRIPTION : read interrupt mask register 
	  0 = unmasked
	  1 = masked
-------------------------------------------------------------------------
*/ 
UWORD32 GPIO_ReadAllImr (Mpuio_module_t mpuio_module)
{
  
  UWORD32 value = *(REGISTER_UWORD32*)(GPIO_REG32_IMR_REG_ADDR + mpuio_module * MEM_RHEA_STROBE_LENGTH);
 
  return value;
}

/*
-------------------------------------------------------------------------
     GPIO_ReadAllIsr                                                      -
	  DESCRIPTION : read interrupt status register 
	  0 = no interrupt request
	  1 = interrupt request
-------------------------------------------------------------------------
*/ 
UWORD32 GPIO_ReadAllIsr (Mpuio_module_t mpuio_module)
{
  
  UWORD32 value = *(REGISTER_UWORD32*)(GPIO_REG32_ISR_REG_ADDR + mpuio_module * MEM_RHEA_STROBE_LENGTH);
 
  return value;
}


/*
-------------------------------------------------------------------------
     GPIO_ReadPin        
	  DESCRIPTION : read input pin   
-------------------------------------------------------------------------
*/ 
UWORD32 GPIO_ReadPin (UWORD32 pin_position, Mpuio_module_t mpuio_module)
{
  
  UWORD32 value = GPIO_ReadAllDir(mpuio_module) & (1<<(pin_position));
 
  return value;
}


⌨️ 快捷键说明

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