Beep.c 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*********************************************************************************************************
  2. * Module : Beep.c
  3. * Abstract : Beep modules is generated alarms!
  4. * Version : 1.0.0
  5. * Author : Leopul(COPYRIGHT 2025 - 2027 Leopul. All rights reserved.)
  6. * Complete : 2025-02-16
  7. * Content : None
  8. * Note : None
  9. *********************************************************************************************************/
  10. #include "Beep.h"
  11. #include "gd32f30x_libopt.h"
  12. #include "main.h"
  13. static void beep(void)
  14. {
  15. static uint8_t flag = 0;
  16. if(flag)
  17. {
  18. flag = 0;
  19. gpio_bit_set(GPIOC, GPIO_PIN_7);
  20. }else
  21. {
  22. gpio_bit_reset(GPIOC, GPIO_PIN_7);
  23. flag = 1;
  24. }
  25. }
  26. static void clear_beep(void)
  27. {
  28. gpio_bit_reset(GPIOC, GPIO_PIN_7);
  29. }
  30. void beep_init(void)
  31. {
  32. rcu_periph_clock_enable(RCU_GPIOC);
  33. sts_data_t *data = get_sts();
  34. gpio_init(GPIOC,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_7);
  35. gpio_bit_reset(GPIOC, GPIO_PIN_7);
  36. data->beep = beep;
  37. data->clear_beep = clear_beep;
  38. }