gpio.h 617 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef _GPIO_H
  2. #define _GPIO_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. typedef enum {
  7. GPIOIRQ_TYPE_EDGE_BOTH,
  8. GPIOIRQ_TYPE_EDGE_RISING,
  9. GPIOIRQ_TYPE_EDGE_FALLING,
  10. GPIOIRQ_TYPE_LEVEL_HIGH,
  11. GPIOIRQ_TYPE_LEVEL_LOW,
  12. } eGpioIrqType;
  13. void gpio_request(unsigned gpio);
  14. void gpio_direction_output(unsigned gpio, int value);
  15. void gpio_direction_input(unsigned gpio);
  16. void gpio_set_value(unsigned gpio, int value);
  17. int gpio_get_value(unsigned gpio);
  18. int gpio_irq_request(unsigned gpio, int irq_type, ISRFunction_t irq_handler, void *param);
  19. int gpio_irq_free(unsigned gpio);
  20. #ifdef __cplusplus
  21. }
  22. #endif
  23. #endif