gd32v_pjt_include.h 1.3 KB

1234567891011121314151617181920212223242526272829
  1. #ifndef _GD32V_PJT_INCLUDE_
  2. #define _GD32V_PJT_INCLUDE_
  3. #include "gd32vf103_libopt.h"
  4. #include <stdio.h>
  5. #define PA_OUT(n,s) \
  6. ({ if (s%2) gpio_bit_set(GPIOA, GPIO_PIN_##n); \
  7. else gpio_bit_reset(GPIOA, GPIO_PIN_##n); })
  8. #define PA_IN(n) gpio_input_bit_get(GPIOA, GPIO_PIN_##n)
  9. #define PB_OUT(n,s) \
  10. ({ if (s%2) gpio_bit_set(GPIOB, GPIO_PIN_##n); \
  11. else gpio_bit_reset(GPIOB, GPIO_PIN_##n); })
  12. #define PB_IN(n) gpio_input_bit_get(GPIOB, GPIO_PIN_##n)
  13. #define PC_OUT(n,s) \
  14. ({ if (s%2) gpio_bit_set(GPIOC, GPIO_PIN_##n); \
  15. else gpio_bit_reset(GPIOC, GPIO_PIN_##n); })
  16. #define PC_IN(n) gpio_input_bit_get(GPIOC, GPIO_PIN_##n)
  17. #define LEDR_TOG gpio_bit_write(GPIOC, GPIO_PIN_13, (bit_status)(1-gpio_input_bit_get(GPIOC, GPIO_PIN_13)))
  18. #define LEDR(s) PC_OUT(13, s)
  19. #define LEDG_TOG gpio_bit_write(GPIOA, GPIO_PIN_1, (bit_status)(1-gpio_input_bit_get(GPIOA, GPIO_PIN_1)))
  20. #define LEDG(s) PA_OUT(1, s)
  21. #define LEDB_TOG gpio_bit_write(GPIOA, GPIO_PIN_2, (bit_status)(1-gpio_input_bit_get(GPIOA, GPIO_PIN_2)))
  22. #define LEDB(s) PA_OUT(2, s)
  23. #endif /* _GD32V_PJT_INCLUDE_ */