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_api.h 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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_API_H
  17. #define MBED_GPIO_API_H
  18. #include "device.h"
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22. /* Set the given pin as GPIO
  23. * @param pin The pin to be set as GPIO
  24. * @return The GPIO port mask for this pin
  25. **/
  26. uint32_t gpio_set(PinName pin);
  27. /* Checks if gpio object is connected (pin was not initialized with NC)
  28. * @param pin The pin to be set as GPIO
  29. * @return 0 if port is initialized with NC
  30. **/
  31. int gpio_is_connected(const gpio_t *obj);
  32. /* GPIO object */
  33. void gpio_init(gpio_t *obj, PinName pin);
  34. void gpio_mode (gpio_t *obj, PinMode mode);
  35. void gpio_dir (gpio_t *obj, PinDirection direction);
  36. void gpio_write(gpio_t *obj, int value);
  37. int gpio_read (gpio_t *obj);
  38. // the following set of functions are generic and are implemented in the common gpio.c file
  39. void gpio_init_in(gpio_t* gpio, PinName pin);
  40. void gpio_init_in_ex(gpio_t* gpio, PinName pin, PinMode mode);
  41. void gpio_init_out(gpio_t* gpio, PinName pin);
  42. void gpio_init_out_ex(gpio_t* gpio, PinName pin, int value);
  43. void gpio_init_inout(gpio_t* gpio, PinName pin, PinDirection direction, PinMode mode, int value);
  44. #ifdef __cplusplus
  45. }
  46. #endif
  47. #endif