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

📄 gpio.h

📁 针对at91系列的arm的启动代码的编写有一个整体的说明
💻 H
字号:
/* ---------------------------------------------------------------------------- *         ATMEL Microcontroller Software Support  -  ROUSSET  - * ---------------------------------------------------------------------------- * Copyright (c) 2006, Atmel Corporation * All rights reserved. * * 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 disclaimer below. * * - Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the disclaimer below in the documentation and/or * other materials provided with the distribution. * * Atmel's name may not be used to endorse or promote products derived from * this software without specific prior written permission. * * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE * DISCLAIMED. IN NO EVENT SHALL ATMEL 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. * ---------------------------------------------------------------------------- * File Name           : gpio.h * Object              : * Creation            : ODi Apr 24th 2006 *----------------------------------------------------------------------------- */#ifndef GPIO_H_#define GPIO_H_/* I/O type */enum  pio_type {	PIO_PERIPH_A,	PIO_PERIPH_B,	PIO_INPUT,	PIO_OUTPUT};/* I/O attributes */#define PIO_DEFAULT   (0 << 0)#define PIO_PULLUP    (1 << 0)#define PIO_DEGLITCH  (1 << 1)#define PIO_OPENDRAIN (1 << 2)struct pio_desc {	const char *pin_name;   /* Pin Name */	unsigned int pin_num;   /* Pin number */	unsigned int dft_value; /* Default value for outputs */	unsigned char attribute;	enum pio_type type;};/* pio_set_value: assuming the pin is muxed as a gpio output, set its value. */extern int pio_set_value(unsigned pin, int value);/* pio_get_value: read the pin's value (works even if it's not muxed as a gpio). * !!! PIO Clock must be enabled in the PMC !!! */extern int pio_get_value(unsigned pin);/* pio_device_pio_setup: Configure PIO in periph mode according to the platform informations */extern int pio_setup (const struct pio_desc *pio_desc);/* these pin numbers double as IRQ numbers, like AT91C_ID_* values */#define PIO_NB_IO		32 /* Number of IO handled by one PIO controller */#define	AT91C_PIN_PA(io)	(0 * PIO_NB_IO + io)#define	AT91C_PIN_PB(io)	(1 * PIO_NB_IO + io)#define	AT91C_PIN_PC(io)	(2 * PIO_NB_IO + io)#define	AT91C_PIN_PD(io)	(3 * PIO_NB_IO + io)#endif /* GPIO_H_*/

⌨️ 快捷键说明

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