pindef.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * pindef.h
  3. *
  4. * Created on: Jun 20, 2025
  5. * Author: 51005
  6. *
  7. * 每个 PIN 定义包含两个宏:
  8. * xxx_PIN — GPIO 引脚位掩码 (GPIO_Pin_*)
  9. * xxx_PORT — 所属 GPIO 端口 (A 或 B)
  10. *
  11. * 配合 project_config.h 中的 GPIO_PIN_* 宏使用:
  12. * GPIO_PIN_ModeCfg(LED_PORT, LED_PIN, GPIO_ModeOut_PP_5mA);
  13. */
  14. #ifndef INCLUDE_PINDEF_H_
  15. #define INCLUDE_PINDEF_H_
  16. #include "CH58x_common.h"
  17. /* GPIOB 辅助宏 (SDK 只提供了 GPIOB_PinOutput/Input) */
  18. #define GPIOB_PinOutput(pin) (R32_PB_DIR |= pin)
  19. #define GPIOB_PinInput(pin) (R32_PB_DIR &= ~pin)
  20. //#define POWER_CTRL_PIN GPIO_Pin_10 //电源控制
  21. //#define LED_CTR_PIN GPIO_Pin_5 //LED控制 PB5
  22. /* LED 输出 */
  23. #define LED_PIN GPIO_Pin_14 // PB14
  24. #define LED_PORT B
  25. #define LED_SW GPIO_Pin_11 // PB11 (LED开关 - 备用)
  26. #define LED_SW_PORT B
  27. /* 声音拾取 */
  28. #define SOUND_PIN GPIO_Pin_9 // PB9 (注: shutdown 时临时切到 PA,见 ukey.c)
  29. #define SOUND_PORT B
  30. /* 声音拾取开关 */
  31. #define SOUND_SW GPIO_Pin_10 // PA10
  32. #define SOUND_SW_PORT A
  33. /* 电源按键 */
  34. #define SW_KEY GPIO_Pin_4 // PA4
  35. #define SW_KEY_PORT A
  36. /* PWM 通道 (无端口,直接绑定 CH_PWM10) */
  37. #define PWM_LED_CHANNEL CH_PWM10
  38. /* 按键检测位 (PA4) */
  39. #define KEY10_BV BV(4)
  40. #define KEY10_IN (ACTIVE_LOW(R32_PA_PIN & KEY10_BV))
  41. #endif /* INCLUDE_PINDEF_H_ */