修复中文注释乱码:22个GBK源文件统一转换为UTF-8,并更新Keil调试配置

This commit is contained in:
2026-09-04 15:03:52 +08:00
parent 8200e7b8aa
commit 41021cf95c
24 changed files with 1058 additions and 1044 deletions
@@ -1,8 +1,8 @@
#include "BeepAndLed.h"
#include "beepAndLed.h"
#include "main.h" // 包含BUZZER_ON/OFF, LED等宏定义
#include "main.h" // 包含BUZZER_ON/OFF, LED等宏定义
// ========== 变量定义 ==========
// ========== 变量定义 ==========
static BeeperCtrl_t g_beeper = {
.state = BEEPER_STATE_IDLE,
.is_active = 0,
@@ -12,28 +12,28 @@ static BeeperCtrl_t g_beeper = {
.off_ms = 0
};
// 延时计数器(供滴答定时器使用)
// 延时计数器(供滴答定时器使用)
uint32_t BeepAndLedCollDelay1mSCnt = 0;
// ========== 硬件控制函数(根据您的实际宏定义修改)==========
// ========== 硬件控制函数(根据您的实际宏定义修改)==========
static void Beeper_HW_On(void)
{
BUZZER_ON(); // 请替换为您的实际宏
LED_GREEN_OFF(); // 请替换为您的实际宏
LED_RED_ON(); // 请替换为您的实际宏
BUZZER_ON(); // 请替换为您的实际宏
LED_GREEN_OFF(); // 请替换为您的实际宏
LED_RED_ON(); // 请替换为您的实际宏
}
static void Beeper_HW_Off(void)
{
BUZZER_OFF(); // 请替换为您的实际宏
LED_GREEN_ON(); // 请替换为您的实际宏
LED_RED_OFF(); // 请替换为您的实际宏
BUZZER_OFF(); // 请替换为您的实际宏
LED_GREEN_ON(); // 请替换为您的实际宏
LED_RED_OFF(); // 请替换为您的实际宏
}
// ========== 实现函数 ==========
// ========== 实现函数 ==========
/**
* @brief 蜂鸣器初始化
* @brief 蜂鸣器初始化
*/
void Beeper_Init(void)
{
@@ -41,47 +41,47 @@ void Beeper_Init(void)
}
/**
* @brief 开始鸣响(非阻塞)
* @param on_ms 鸣响时间(ms)
* @param off_ms 间隔时间(ms)
* @param repeat 重复次数(0表示无效)
* @brief 开始鸣响(非阻塞)
* @param on_ms 鸣响时间(ms)
* @param off_ms 间隔时间(ms)
* @param repeat 重复次数(0表示无效)
*
* @example Beeper_Start(200, 100, 3); // 鸣200ms,停100ms,重复3次
* @example Beeper_Start(200, 100, 3); // 鸣200ms,停100ms,重复3次
*/
void Beeper_Start(uint16_t on_ms, uint16_t off_ms, uint8_t repeat)
{
if (repeat == 0) return;
// 如果已经在鸣响,可以选择停止并重新开始
// 如果已经在鸣响,可以选择停止并重新开始
if (g_beeper.is_active) {
Beeper_Stop(); // 停止当前,重新开始新的
// return; // 或者选择忽略新请求
Beeper_Stop(); // 停止当前,重新开始新的
// return; // 或者选择忽略新请求
}
// 保存参数
// 保存参数
g_beeper.on_ms = on_ms;
g_beeper.off_ms = off_ms;
g_beeper.repeat = repeat;
g_beeper.repeat_done = 0;
g_beeper.is_active = 1;
// 开启蜂鸣器
// 开启蜂鸣器
Beeper_HW_On();
// 设置延时计数器(开启状态延时)
// 设置延时计数器(开启状态延时)
BeepAndLedCollDelay1mSCnt = on_ms;
g_beeper.state = BEEPER_STATE_ON;
}
/**
* @brief 停止鸣响
* @brief 停止鸣响
*/
void Beeper_Stop(void)
{
// 关闭硬件
// 关闭硬件
Beeper_HW_Off();
// 重置状态机
// 重置状态机
g_beeper.state = BEEPER_STATE_IDLE;
g_beeper.is_active = 0;
g_beeper.repeat = 0;
@@ -90,8 +90,8 @@ void Beeper_Stop(void)
}
/**
* @brief 蜂鸣器状态机更新(放在main.c的while(1)中循环调用)
* @note 必须在滴答定时器更新BeepAndLedCollDelay1mSCnt后才能正确工作
* @brief 蜂鸣器状态机更新(放在main.c的while(1)中循环调用)
* @note 必须在滴答定时器更新BeepAndLedCollDelay1mSCnt后才能正确工作
*/
void BeeperLoopHandler(void)
{
@@ -101,20 +101,20 @@ void BeeperLoopHandler(void)
switch (g_beeper.state) {
case BEEPER_STATE_ON:
// 蜂鸣器开启状态,等待计数器归零
// 蜂鸣器开启状态,等待计数器归零
if (BeepAndLedCollDelay1mSCnt == 0) {
// 延时结束,关闭蜂鸣器
// 延时结束,关闭蜂鸣器
Beeper_HW_Off();
g_beeper.repeat_done++;
// 检查是否完成所有重复
// 检查是否完成所有重复
if (g_beeper.repeat_done >= g_beeper.repeat) {
// 全部完成,结束
// 全部完成,结束
g_beeper.is_active = 0;
g_beeper.state = BEEPER_STATE_IDLE;
} else {
// 还有下次,进入等待状态
// 还有下次,进入等待状态
BeepAndLedCollDelay1mSCnt = g_beeper.off_ms;
g_beeper.state = BEEPER_STATE_OFF;
}
@@ -122,9 +122,9 @@ void BeeperLoopHandler(void)
break;
case BEEPER_STATE_OFF:
// 蜂鸣器关闭等待状态(间隔时间)
// 蜂鸣器关闭等待状态(间隔时间)
if (BeepAndLedCollDelay1mSCnt == 0) {
// 间隔结束,开启下一次鸣响
// 间隔结束,开启下一次鸣响
Beeper_HW_On();
BeepAndLedCollDelay1mSCnt = g_beeper.on_ms;
@@ -140,8 +140,8 @@ void BeeperLoopHandler(void)
}
/**
* @brief 查询是否正在鸣响
* @return true:正在鸣响, false:空闲
* @brief 查询是否正在鸣响
* @return true:正在鸣响, false:空闲
*/
bool Beeper_IsPlaying(void)
{
@@ -149,7 +149,7 @@ bool Beeper_IsPlaying(void)
}
/**
* @brief 手动开启蜂鸣器(不计入状态机)
* @brief 手动开启蜂鸣器(不计入状态机)
*/
void Beeper_On(void)
{
@@ -157,7 +157,7 @@ void Beeper_On(void)
}
/**
* @brief 手动关闭蜂鸣器(不计入状态机)
* @brief 手动关闭蜂鸣器(不计入状态机)
*/
void Beeper_Off(void)
{
@@ -165,8 +165,8 @@ void Beeper_Off(void)
}
/**
* @brief 清除延时计数器(由滴答定时器调用)
* @note 这个函数放在滴答定时器的1ms中断中调用
* @brief 清除延时计数器(由滴答定时器调用)
* @note 这个函数放在滴答定时器的1ms中断中调用
*/
void Beeper_ClearDelay(void)
{
@@ -5,35 +5,35 @@
#include <stdbool.h>
#include "bsp.h"
// ========== 蜂鸣器状态机状态定义 ==========
// ========== 蜂鸣器状态机状态定义 ==========
typedef enum {
BEEPER_STATE_IDLE = 0, // 空闲
BEEPER_STATE_ON, // 蜂鸣器开启延时中
BEEPER_STATE_OFF, // 蜂鸣器关闭延时中
BEEPER_STATE_WAIT // 等待下一次鸣响
BEEPER_STATE_IDLE = 0, // 空闲
BEEPER_STATE_ON, // 蜂鸣器开启延时中
BEEPER_STATE_OFF, // 蜂鸣器关闭延时中
BEEPER_STATE_WAIT // 等待下一次鸣响
} BeeperState_t;
// ========== 蜂鸣器控制结构体 ==========
// ========== 蜂鸣器控制结构体 ==========
typedef struct {
BeeperState_t state; // 当前状态
uint16_t on_ms; // 鸣响时间(ms)
uint16_t off_ms; // 间隔时间(ms)
uint8_t repeat; // 重复次数
uint8_t repeat_done; // 已完成次数
uint8_t is_active; // 是否激活
BeeperState_t state; // 当前状态
uint16_t on_ms; // 鸣响时间(ms)
uint16_t off_ms; // 间隔时间(ms)
uint8_t repeat; // 重复次数
uint8_t repeat_done; // 已完成次数
uint8_t is_active; // 是否激活
} BeeperCtrl_t;
// ========== 外部可访问变量 ==========
extern uint32_t BeepAndLedCollDelay1mSCnt; // 延时计数器(在beepAndLed.c中定义)
// ========== 外部可访问变量 ==========
extern uint32_t BeepAndLedCollDelay1mSCnt; // 延时计数器(在beepAndLed.c中定义)
// ========== API函数 ==========
void Beeper_Init(void); // 初始化
void Beeper_Start(uint16_t on_ms, uint16_t off_ms, uint8_t repeat); // 开始鸣响(非阻塞)
void Beeper_Stop(void); // 停止鸣响
void BeeperLoopHandler(void); // 状态机更新(放在while(1)中)
bool Beeper_IsPlaying(void); // 查询是否正在鸣响
void Beeper_On(void); // 手动开启蜂鸣器
void Beeper_Off(void); // 手动关闭蜂鸣器
void Beeper_ClearDelay(void); // 清除延时计数器(供滴答定时器使用)
// ========== API函数 ==========
void Beeper_Init(void); // 初始化
void Beeper_Start(uint16_t on_ms, uint16_t off_ms, uint8_t repeat); // 开始鸣响(非阻塞)
void Beeper_Stop(void); // 停止鸣响
void BeeperLoopHandler(void); // 状态机更新(放在while(1)中)
bool Beeper_IsPlaying(void); // 查询是否正在鸣响
void Beeper_On(void); // 手动开启蜂鸣器
void Beeper_Off(void); // 手动关闭蜂鸣器
void Beeper_ClearDelay(void); // 清除延时计数器(供滴答定时器使用)
#endif /* _BEEP_AND_LED_H_ */