30 秒选工程
| 题目关键词 | 首选工程 | 主要修改 | 任务书 |
|---|---|---|---|
| 报警、分级、静音、闪烁 | mock_01_alarm | 状态数、颜色、鸣叫节奏 | 打开 01 |
| 采样、阈值、分档、保持 | mock_02_touch_adc | ADC 阈值、迟滞、Touch 动作 | 打开 02 |
| 命令、查询、ASCII、字符串 | mock_03_uart_controller | 命令表、参数和返回格式 | 打开 03 |
| 倒计时、相位、顺序、交通灯 | mock_04_traffic_timer | 状态表、阶段时间、切换条件 | 打开 04 |
| 计数、秒表、反应时间、成绩 | mock_05_button_stopwatch | 按键动作、计时规则、最佳值 | 打开 05 |
| 帧头、LEN、CMD、SUM、CRC | mock_06_binary_uart | 帧格式、命令字、校验算法 | 打开 06 |
| 电压映射、PWM、亮度、频率 | mock_07_adc_pwm | 滤波、映射、迟滞、输出关系 | 打开 07 |
| 密码、门禁、输错锁定、解锁 | mock_08_touch_access | 输入符号、密码、锁定时间 | 打开 08 |
| 无法归类或多个模块混合 | universal_console | 删去无关逻辑后重写状态机 | 查看速查 |
所有工程只改两处
include/contest_user_config.h:引脚配置。src/task_logic.cpp:状态、输入事件、输出规则和专属命令。
不要先改底层库。lib/ContestToolkit已经处理消抖、定时器、Touch、ADC、NVS、RGB、蜂鸣器与串口收发。
现场固定流程
- 圈出输入、输出、时间条件、通信格式、掉电保存和验收方式。
- 选工程,只改引脚后先编译一次。
- 执行
SELFTEST和STATUS,确认接线。 - 按评分点逐项修改
task_logic.cpp,每完成一项立即验收。 - 最后测试参数越界、快速按键、错误帧和断电重启。