📄 gpio.h.svn-base
字号:
/*
* File : gpio.h
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2006, 2007, RT-Thread Develop Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://openlab.rt-thread.com/license/LICENSE
*
* Change Logs:
* Date Author Notes
* 2007-03-26 bernard xiong
*/
#ifndef __GPIO_H__
#define __GPIO_H__
#include <rtthread.h>
#include <pxa270.h>
#define _GPLR(x) (*(volatile unsigned int*)(0x40E00000 + (((x) & 0x60) >> 3)))
#define _GPDR(x) (*(volatile unsigned int*)(0x40E0000C + (((x) & 0x60) >> 3)))
#define _GPSR(x) (*(volatile unsigned int*)(0x40E00018 + (((x) & 0x60) >> 3)))
#define _GPCR(x) (*(volatile unsigned int*)(0x40E00024 + (((x) & 0x60) >> 3)))
#define _GRER(x) (*(volatile unsigned int*)(0x40E00030 + (((x) & 0x60) >> 3)))
#define _GFER(x) (*(volatile unsigned int*)(0x40E0003C + (((x) & 0x60) >> 3)))
#define _GEDR(x) (*(volatile unsigned int*)(0x40E00048 + (((x) & 0x60) >> 3)))
#define _GAFR(x) (*(volatile unsigned int*)(0x40E00054 + (((x) & 0x70) >> 2)))
#define PXA2X0_GPIO_GPLR(x) (*((((x) & 0x7f) < 96) ? &_GPLR(x) : &PXA2X0_GPIO_GPLR3))
#define PXA2X0_GPIO_GPDR(x) (*((((x) & 0x7f) < 96) ? &_GPDR(x) : &PXA2X0_GPIO_GPDR3))
#define PXA2X0_GPIO_GPSR(x) (*((((x) & 0x7f) < 96) ? &_GPSR(x) : &PXA2X0_GPIO_GPSR3))
#define PXA2X0_GPIO_GPCR(x) (*((((x) & 0x7f) < 96) ? &_GPCR(x) : &PXA2X0_GPIO_GPCR3))
#define PXA2X0_GPIO_GRER(x) (*((((x) & 0x7f) < 96) ? &_GRER(x) : &PXA2X0_GPIO_GRER3))
#define PXA2X0_GPIO_GFER(x) (*((((x) & 0x7f) < 96) ? &_GFER(x) : &PXA2X0_GPIO_GFER3))
#define PXA2X0_GPIO_GEDR(x) (*((((x) & 0x7f) < 96) ? &_GEDR(x) : &PXA2X0_GPIO_GEDR3))
#define PXA2X0_GPIO_GAFR(x) (*((((x) & 0x7f) < 96) ? &_GAFR(x) : \
((((x) & 0x7f) < 112) ? &PXA2X0_GPIO_GAFR3_L : &PXA2X0_GPIO_GAFR3_U)))
#define PXA2X0_GPIO_FN_SHIFT(x) (((x) & 0xf) * 2)
#define PXA2X0_GPIO_BIT(x) (1u << ((x) & 0x1f))
#define PXA2X0_GPIO_IN 0x00 /* Regular GPIO input pin */
#define PXA2X0_GPIO_OUT 0x10 /* Regular GPIO output pin */
#define PXA2X0_GPIO_ALT_FN_1_IN 0x01 /* Alternate function 1 input */
#define PXA2X0_GPIO_ALT_FN_1_OUT 0x11 /* Alternate function 1 output */
#define PXA2X0_GPIO_ALT_FN_2_IN 0x02 /* Alternate function 2 input */
#define PXA2X0_GPIO_ALT_FN_2_OUT 0x12 /* Alternate function 2 output */
#define PXA2X0_GPIO_ALT_FN_3_IN 0x03 /* Alternate function 3 input */
#define PXA2X0_GPIO_ALT_FN_3_OUT 0x13 /* Alternate function 3 output */
#define PXA2X0_GPIO_SET 0x20 /* Initial state is Set */
#define PXA2X0_GPIO_CLR 0x00 /* Initial state is Clear */
#define PXA2X0_GPIO_FN 0x03 /* function mask */
rt_uint32 rt_hw_gpio_get_function(rt_uint32 gpio);
rt_uint32 rt_hw_gpio_set_function(rt_uint32 gpio, rt_uint32 fn);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -