新增 usr_app 产品逻辑:手动>定时>条件仲裁、条件控温湿、定时任务、数码管显示、 按键/LED、风扇档位、NVM 掉电恢复、配对与开关机,上电按规格恢复上次状态。 新增 usr_periph:AHT20、CT1642、板级引脚与硬件封装;见宝协议 cond_config 改为 7 字节编解码,并接入产品 DP。 补充《温湿度风扇_固件需求规格书》,工程加入对应源文件。 .gitignore 忽略 WorkBuddy/Cursor 本地会话
62 lines
1.4 KiB
C
62 lines
1.4 KiB
C
/******************************************************************************
|
||
* @file bsp_hw.h
|
||
* @brief CBR3 板级硬件:LED / 按键 / 风扇 PWM
|
||
* @author cyWu <1917507415@qq.com>
|
||
* @date 2026.08.29
|
||
* @version V1.0.0
|
||
* @history
|
||
* - V1.0.0, 2026.08.29, cyWu, 首次发布(移植门夹:删电机/充电/电量,改单 LED + 风扇 PWM)
|
||
******************************************************************************/
|
||
|
||
#ifndef __BSP_HW_H__
|
||
#define __BSP_HW_H__
|
||
|
||
#include <stdint.h>
|
||
#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__ */
|