Naze32 clone with Frysky receiver
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

gpio_irq_api.h 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* mbed Microcontroller Library
  2. * Copyright (c) 2006-2013 ARM Limited
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #ifndef MBED_GPIO_IRQ_API_H
  17. #define MBED_GPIO_IRQ_API_H
  18. #include "device.h"
  19. #if DEVICE_INTERRUPTIN
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  23. typedef enum {
  24. IRQ_NONE,
  25. IRQ_RISE,
  26. IRQ_FALL
  27. } gpio_irq_event;
  28. typedef struct gpio_irq_s gpio_irq_t;
  29. typedef void (*gpio_irq_handler)(uint32_t id, gpio_irq_event event);
  30. int gpio_irq_init(gpio_irq_t *obj, PinName pin, gpio_irq_handler handler, uint32_t id);
  31. void gpio_irq_free(gpio_irq_t *obj);
  32. void gpio_irq_set (gpio_irq_t *obj, gpio_irq_event event, uint32_t enable);
  33. void gpio_irq_enable(gpio_irq_t *obj);
  34. void gpio_irq_disable(gpio_irq_t *obj);
  35. #ifdef __cplusplus
  36. }
  37. #endif
  38. #endif
  39. #endif