/****************************************************************************** * @file bsp_hw.h * @brief CBR3 板级硬件:LED / 按键 / 风扇 PWM * @author cyWu <1917507415@qq.com> * @date 2026.08.29 * @version V1.0.0,首次发布(移植门夹:删电机/充电/电量,改单 LED + 风扇 PWM) ******************************************************************************/ #ifndef __BSP_HW_H__ #define __BSP_HW_H__ #include #include "board_pin.h" typedef enum { BSP_HW_OK = 0, BSP_HW_ERR_PARAM, BSP_HW_ERR_NOT_INIT } BspHw_Ret_t; /** * @brief 初始化 GPIO / 风扇 MCPWM * @return BSP_HW_OK=成功 */ BspHw_Ret_t bsp_hw_init(void); /** * @brief 查询是否已初始化 * @return BSP_HW_OK=已初始化,BSP_HW_ERR_NOT_INIT=未初始化 */ BspHw_Ret_t bsp_hw_get_status(void); /** * @brief 状态 LED 开关(PC2,低电平亮) * @param on 1=亮,0=灭 * @return 无 */ void bsp_led_set(uint8_t on); /** * @brief 风扇 PWM 占空比(PC3,高有效,20kHz) * @param duty 0~10000(0%=关 MCPWM 并拉低;>0 打开时钟输出) * @return 无 */ void bsp_fan_set_duty(uint16_t duty); /** * @brief 读取按键 * @return 1=按下,0=未按下 */ uint8_t bsp_key_is_pressed(void); /** * @brief 进深睡前:风扇 PWM 关掉并拉低,灯全灭 * @return 无 */ void bsp_hw_enter_sleep_io(void); #endif /* __BSP_HW_H__ */