Loading...
Searching...
No Matches
gpio_ll_irq.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2020 Gunar Schorcht
3 * 2021 Otto-von-Guericke-Universität Magdeburg
4 *
5 * This file is subject to the terms and conditions of the GNU Lesser
6 * General Public License v2.1. See the file LICENSE in the top level
7 * directory for more details.
8 */
9
10#pragma once
11
47#include <inttypes.h>
48#include <stdbool.h>
49#include <stdint.h>
50
51#include "periph/gpio_ll.h"
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56
57#if !defined(HAVE_GPIO_IRQ_TRIG_T) || defined(DOXYGEN)
80#endif
81
87typedef void (*gpio_ll_cb_t)(void *arg);
88
108int gpio_ll_irq(gpio_port_t port, uint8_t pin, gpio_irq_trig_t trig,
109 gpio_ll_cb_t cb, void *arg);
110
123void gpio_ll_irq_mask(gpio_port_t port, uint8_t pin);
124
125#if MODULE_PERIPH_GPIO_LL_IRQ_UNMASK || defined(DOXYGEN)
142void gpio_ll_irq_unmask(gpio_port_t port, uint8_t pin);
143#endif
144
157
173void gpio_ll_irq_off(gpio_port_t port, uint8_t pin);
174
175#ifdef __cplusplus
176}
177#endif
178
Peripheral GPIO Low-Level API.
gpio_irq_trig_t
Definition of possible IRQ triggers.
Definition gpio_ll_irq.h:71
void gpio_ll_irq_unmask_and_clear(gpio_port_t port, uint8_t pin)
Unmask IRQs on the given GPIO pin and clear pending IRQs.
void gpio_ll_irq_mask(gpio_port_t port, uint8_t pin)
Mask IRQs on the given GPIO pin.
int gpio_ll_irq(gpio_port_t port, uint8_t pin, gpio_irq_trig_t trig, gpio_ll_cb_t cb, void *arg)
Set up an IRQ for the given GPIO pin and activate it.
void(* gpio_ll_cb_t)(void *arg)
Signature of event callback function that is called on IRQs.
Definition gpio_ll_irq.h:87
void gpio_ll_irq_unmask(gpio_port_t port, uint8_t pin)
Unmask IRQs on the given GPIO pin.
void gpio_ll_irq_off(gpio_port_t port, uint8_t pin)
Disable IRQs on the given GPIO pin.
@ GPIO_TRIGGER_EDGE_FALLING
edge triggered IRQ on falling flanks only
Definition gpio_ll_irq.h:72
@ GPIO_TRIGGER_LEVEL_HIGH
level triggered IRQ on high input
Definition gpio_ll_irq.h:77
@ GPIO_TRIGGER_EDGE_RISING
edge triggered IRQ on rising flanks only
Definition gpio_ll_irq.h:74
@ GPIO_TRIGGER_EDGE_BOTH
edge triggered IRQ on falling AND rising flanks
Definition gpio_ll_irq.h:75
@ GPIO_TRIGGER_LEVEL_LOW
level triggered IRQ on low input
Definition gpio_ll_irq.h:78
uintptr_t gpio_port_t
GPIO port type.
Definition gpio_ll.h:86
Adds include for missing inttype definitions.