📄 gpio.c
字号:
/************************************************************
Copyright (C), 2006, comba. Co., Ltd.
FileName: gpio.c
Author: hejun
Version : 1.0
Date: 2006.4.14
Description: GPIO(ARM7 LPC2212) API函数
Function List:
1. GPIO_pinWrite
2. GPIO_pinRead
3. GPIO_pinDirection
4. GPIO_pinPullUpEnable
5. GPIO_pinPullUpDisable
9. GPIO_pinInputGlitchFilter
10. GPIO_intEnable
11. GPIO_intDisable
History:
<author> <time> <version > <desc>
hejun 2006.4.14 1.0 create
***********************************************************/
#define _DEFINE_VAR_GPIO
#include "gpio.h"
/*************************************************
Function: GPIO_pinWrite
Description: 向指定io管脚写
Calls:
Called By:
Input:
hGpio-> 端口句柄号
pinId-> 管脚ID号
val-> 写入值 0:低电平,1:高电平
Output: none
Return: none
Others: none
*************************************************/
void GPIO_pinWrite(GPIO_Handle hGpio,INT32U pinId,INT32U val)
{
INT32U mask = 0x01;
if(val)
{
hGpio->IO_SET |= (mask << pinId);
}
else
{
hGpio->IO_CLR |= (mask << pinId);
}
}
/*************************************************
Function: GPIO_pinRead
Description: 读取指定io管脚
Calls:
Called By:
Input:
hGpio-> 端口句柄号
pinId-> 管脚ID号
Output: none
Return: io管脚状态
Others: none
*************************************************/
INT32U GPIO_pinRead(GPIO_Handle hGpio,INT32U pinId)
{
return ((hGpio->IO_PIN)&(0x00000001 << pinId));
}
/*************************************************
Function: GPIO_pinDirection
Description: 作为IO功能时,输入输出方向选择
Calls:
Called By:
Input:
hGpio-> 端口句柄号
pinId-> 管脚ID号
direction->输入输出方向
Output: none
Return: none
Others: none
*************************************************/
void GPIO_pinDirection(GPIO_Handle hGpio,INT32U pinId,INT32U direction)
{
if(GPIO_OUTPUT == direction)
{
hGpio->IO_DIR |= (0x01 << pinId);
}
else if(GPIO_INPUT == direction)
{
(hGpio->IO_DIR) &= ~(0x01 << pinId);
}
}
/*************************************************
Function: GPIO_pinClr
Description: 作为IO功能时,且引脚配置为输出模式时,写入
1使对应的引脚输出低电平,并清零IOSET寄存器中相应的位
,写入0无效;如果一个引脚配置为输入或第二功能,写IOCLR无效
Calls:
Called By:
Input:
hGpio-> 端口句柄号
pinId-> 管脚ID号
Output: none
Return: none
Others: none
*************************************************/
void GPIO_pinClr(GPIO_Handle hGpio, INT32U pinID)
{
if((hGpio -> IO_DIR)&(0x00000001 << pinID) != GPIO_OUTPUT)
return;
(hGpio -> IO_CLR) &= ~(0x00000001 << pinID);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -