在学习Tronlong TMS320C6748的过程中,我遇到了一些问题,其中一个问题是在探索封装库函数时,我发现这些函数的注释都是用英文书写的。这给学习过程带来了一些不便。因此,我借助一些翻译软件将这些注释翻译成中文,以便学习
/**
* \file gpio.h
*
* \brief This file contains the function prototypes for the device
* abstraction layer for GPIO and some related macros.
*/
/*
* Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
*/
/*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef __GPIO_H__
#define __GPIO_H__
#include "hw_gpio.h"
#ifdef __cplusplus
extern "C" {
#endif
/************* GPIO引脚方向.************************************/
/* 用于将GPIO引脚配置为输入引脚. */
#define GPIO_DIR_INPUT 1
/* 用于将GPIO引脚配置为输出引脚.*/
#define GPIO_DIR_OUTPUT 0
/******************中断触发级别类型.**********************/
/* 禁用在引脚上的信号的上升沿和下降沿上产生中断.*/
#define GPIO_INT_TYPE_NOEDGE 0
/* 使能在引脚上的信号的下降沿上产生中断.*/
#define GPIO_INT_TYPE_FALLEDGE 1
/* 使能在引脚上的信号的上升沿上产生中断.*/
#define GPIO_INT_TYPE_RISEDGE 2
/* 使能在引脚上的信号的上升沿和下降沿上产生中断.*/
#define GPIO_INT_TYPE_BOTHEDGE 3
/*****************中断挂起状态.*****************************/
/* 这表示中断状态已清除.*/
#define GPIO_INT_NOPEND 0
/* 这表示中断状态处于挂起状态.*/
#define GPIO_INT_PEND 1
/*****************向引脚写入值.********************************/
/* 用于将逻辑0写入引脚.*/
#define GPIO_PIN_LOW 0
/* 用于将逻辑1写入引脚.*/
#define GPIO_PIN_HIGH 1
/*****************用于引脚组的位掩码值.***************************/
/*
** 应用程序在调用函数'GPIOBankPinsWrite'时使用以下宏
** 可以将以下任何一个或多个宏作为'setPins'和'clrPins'传递给
** 'GPIOBankPinsWrite'.
*/
#define GPIO_BANK_PIN_0 GPIO_DIR_DIR0
#define GPIO_BANK_PIN_1 GPIO_DIR_DIR1
#define GPIO_BANK_PIN_2 GPIO_DIR_DIR2
#define GPIO_BANK_PIN_3 GPIO_DIR_DIR3
#define GPIO_BANK_PIN_4 GPIO_DIR_DIR4
#define GPIO_BANK_PIN_5 GPIO_DIR_DIR5
#define GPIO_BANK_PIN_6 GPIO_DIR_DIR6
#define GPIO_BANK_PIN_7 GPIO_DIR_DIR7
#define GPIO_BANK_PIN_8 GPIO_DIR_DIR8
#define GPIO_BANK_PIN_9 GPIO_DIR_DIR9
#define GPIO_BANK_PIN_10 GPIO_DIR_DIR10
#define GPIO_BANK_PIN_11 GPIO_DIR_DIR11
#define GPIO_BANK_PIN_12 GPIO_DIR_DIR12
#define GPIO_BANK_PIN_13 GPIO_DIR_DIR13
#define GPIO_BANK_PIN_14 GPIO_DIR_DIR14
#define GPIO_BANK_PIN_15 GPIO_DIR_DIR15
/*****************************************************************************
** 函数声明
*****************************************************************************/
void GPIODirModeSet(unsigned int baseAdd, unsigned int pinNumber,
unsigned int pinDir);
unsigned int GPIODirModeGet(unsigned int baseAdd, unsigned int pinNumber);
void GPIOPinWrite(unsigned int baseAdd, unsigned int pinNumber,
unsigned int bitValue);
int GPIOPinRead(unsigned int baseAdd, unsigned int pinNumber);
void GPIOIntTypeSet(unsigned int baseAdd, unsigned int pinNumber,
unsigned int intType);
unsigned int GPIOIntTypeGet(unsigned int baseAdd, unsigned int pinNumber);
unsigned int GPIOPinIntStatus(unsigned int baseAdd, unsigned int pinNumber);
void GPIOPinIntClear(unsigned int baseAdd, unsigned int pinNumber);
void GPIOBankIntEnable(unsigned int baseAdd, unsigned int bankNumber);
void GPIOBankIntDisable(unsigned int baseAdd, unsigned int bankNumber);
void GPIOBankPinsWrite(unsigned int baseAdd, unsigned int bankNumber,
unsigned int setPins, unsigned int clrPins);
#ifdef __cplusplus
}
#endif
#endif