gpio.h File Reference
GPIO header for AVR32 UC3.
More...
Go to the source code of this file.
Detailed Description
GPIO header for AVR32 UC3.
Copyright (C) 2001-2010 by egnite Software GmbH
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. 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. 3. Neither the name of the copyright holders nor the names of 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.
For additional information see http://www.ethernut.de/
Portions Copyright Atmel Corporation, see the following note.
This file contains basic GPIO driver functions.
- Compiler: IAR EWAVR32 and GNU GCC for AVR32
- Supported devices: All AVR32 devices with a GPIO module can be used.
- AppNote:
- Author:
- Atmel Corporation: http://www.atmel.com
Support and FAQ: http://support.atmel.no/
Definition in file gpio.h.
Define Documentation
Function successfully completed.
Definition at line 96 of file gpio.h.
#define GPIO_INVALID_ARGUMENT 1 |
Input parameters are out of range.
Definition at line 97 of file gpio.h.
#define GPIO_PIN_CHANGE 0 |
Interrupt triggered upon pin change.
Definition at line 104 of file gpio.h.
#define GPIO_RISING_EDGE 1 |
Interrupt triggered upon rising edge.
Definition at line 105 of file gpio.h.
#define GPIO_FALLING_EDGE 2 |
Interrupt triggered upon falling edge.
Definition at line 106 of file gpio.h.
Function Documentation
int gpio_enable_module |
( |
const gpio_map_t |
gpiomap, |
|
|
unsigned int |
size | |
|
) |
| | |
int gpio_enable_module_pin |
( |
unsigned int |
pin, |
|
|
unsigned int |
function | |
|
) |
| | |
Enables a specific module mode for a pin.
- Parameters:
-
| pin | The pin number.
Refer to the product header file `uc3x.h' (where x is the part number; e.g. x = a0512) for module pins. E.g., to enable a PWM channel output, the pin number can be AVR32_PWM_3_PIN for PWM channel 3. |
| function | The pin function.
Refer to the product header file `uc3x.h' (where x is the part number; e.g. x = a0512) for module pin functions. E.g., to enable a PWM channel output, the pin function can be AVR32_PWM_3_FUNCTION for PWM channel 3. |
- Returns:
- GPIO_SUCCESS or GPIO_INVALID_ARGUMENT.
void gpio_enable_gpio |
( |
const gpio_map_t |
gpiomap, |
|
|
unsigned int |
size | |
|
) |
| | |
Enables the GPIO mode of a set of pins.
- Parameters:
-
| gpiomap | The pin map. |
| size | The number of pins in gpiomap. |
void gpio_enable_gpio_pin |
( |
unsigned int |
pin |
) |
|
Enables the GPIO mode of a pin.
- Parameters:
-
| pin | The pin number.
Refer to the product header file `uc3x.h' (where x is the part number; e.g. x = a0512) for pin definitions. E.g., to enable the GPIO mode of PX21, AVR32_PIN_PX21 can be used. Module pins such as AVR32_PWM_3_PIN for PWM channel 3 can also be used to release module pins for GPIO. |
void gpio_enable_pin_pull_up |
( |
unsigned int |
pin |
) |
|
Enables the pull-up resistor of a pin.
- Parameters:
-
void gpio_disable_pin_pull_up |
( |
unsigned int |
pin |
) |
|
Disables the pull-up resistor of a pin.
- Parameters:
-
int gpio_get_pin_value |
( |
unsigned int |
pin |
) |
|
Returns the value of a pin.
- Parameters:
-
- Returns:
- The pin value.
int gpio_get_gpio_pin_output_value |
( |
unsigned int |
pin |
) |
|
int gpio_get_gpio_open_drain_pin_output_value |
( |
unsigned int |
pin |
) |
|
void gpio_set_gpio_pin |
( |
unsigned int |
pin |
) |
|
Drives a GPIO pin to 1.
- Parameters:
-
void gpio_clr_gpio_pin |
( |
unsigned int |
pin |
) |
|
Drives a GPIO pin to 0.
- Parameters:
-
void gpio_tgl_gpio_pin |
( |
unsigned int |
pin |
) |
|
Toggles a GPIO pin.
- Parameters:
-
void gpio_set_gpio_open_drain_pin |
( |
unsigned int |
pin |
) |
|
Drives a GPIO pin to 1 using open drain.
- Parameters:
-
void gpio_clr_gpio_open_drain_pin |
( |
unsigned int |
pin |
) |
|
Drives a GPIO pin to 0 using open drain.
- Parameters:
-
void gpio_tgl_gpio_open_drain_pin |
( |
unsigned int |
pin |
) |
|
Toggles a GPIO pin using open drain.
- Parameters:
-
void gpio_enable_pin_glitch_filter |
( |
unsigned int |
pin |
) |
|
Enables the glitch filter of a pin.
When the glitch filter is enabled, a glitch with duration of less than 1 clock cycle is automatically rejected, while a pulse with duration of 2 clock cycles or more is accepted. For pulse durations between 1 clock cycle and 2 clock cycles, the pulse may or may not be taken into account, depending on the precise timing of its occurrence. Thus for a pulse to be guaranteed visible it must exceed 2 clock cycles, whereas for a glitch to be reliably filtered out, its duration must not exceed 1 clock cycle. The filter introduces 2 clock cycles latency.
- Parameters:
-
void gpio_disable_pin_glitch_filter |
( |
unsigned int |
pin |
) |
|
Disables the glitch filter of a pin.
- Parameters:
-
int gpio_enable_pin_interrupt |
( |
unsigned int |
pin, |
|
|
unsigned int |
mode | |
|
) |
| | |
void gpio_disable_pin_interrupt |
( |
unsigned int |
pin |
) |
|
Disables the interrupt of a pin.
- Parameters:
-
int gpio_get_pin_interrupt_flag |
( |
unsigned int |
pin |
) |
|
Gets the interrupt flag of a pin.
- Parameters:
-
- Returns:
- The pin interrupt flag.
void gpio_clear_pin_interrupt_flag |
( |
unsigned int |
pin |
) |
|
Clears the interrupt flag of a pin.
- Parameters:
-