【Telink TL322X 测评】第二章:GPIO、按键与 LED 基础外设测试
# 【Telink TL322X 测评】第二章:GPIO、按键与 LED 基础外设测试* **第一章已经完成开发环境、工具链、驱动、首次烧录和读回校验。本章开始验证最基础的板级外设:GPIO、按键和 LED。**
* **本章的重点是确认 TL322X 工程可以独立复现,并为后续 BLE、低功耗和 IoT Demo 提供可复用的按键/LED 交互基础。**
## 2.0 当前自动化验证记录
**本章先使用 SDK **`feature_test` 中的 soft timer 配置作为 GPIO/LED 节奏类验证固件,已经完成构建、烧录和读回校验:
| **项目** | **结果** |
| ------------------------- | ------------------------------------------------------------------------ |
| **SDK target** | `feature_test` |
| **FEATURE\_TEST\_MODE** | `TEST_SOFT_TIMER` |
| **固件** | `firmware\eval01_soft_timer_gpio_led.bin` |
| **大小** | **141796 bytes** |
| **SHA256** | `421506319594010250701FBE4E3EA9B0CD0C0E1E53D1AE118B3F48EA4DF947F0` |
| **烧录验证** | `verified`,读回 SHA256 与本地固件一致 |
| **串口验证** | `COM41`,`1000000 8N1`,可看到启动日志 |
| **日志** | `logs\flash_eval01_soft_timer_gpio_led.log` |
**本章已达到的效果:该工程可以从自己的 **`src\sdk` 源码副本完成 TL322X 固件构建,生成的 bin 可以写入开发板 Flash,并通过读回 SHA256 校验。当前固件保留红灯 `PC7` 作为 100 ms 周期翻转测试点,同时加入按键触发 LED 与串口日志输出,便于录制手动操作效果。
## 2.1 本章任务目标
**本章主要完成以下任务:**
```
1. 整理 TL322X 开发板 LED、按键和扩展排针资源;
2. 使用官方 SDK 示例验证 GPIO 输出和定时翻转能力;
3. 记录按键输入、GPIO 中断和 LED 反馈的测试方式;
4. 保存构建、烧录、读回校验日志;
5. 输出一份可以独立分享、编译和修改的 GPIO/LED 测试工程。
```
## 2.2 开发板与测试方式
**GPIO/LED 测试按以下链路展开:**
```
确认开发板供电和下载口
↓
打开 01_gpio_key_led 独立工程
↓
从 src\sdk 构建 TEST_SOFT_TIMER 固件
↓
烧录到 Flash 0 地址并读回校验
↓
复位运行后观察 LED 或 GPIO 电平变化
↓
补充按键、外接 LED 或逻辑分析仪记录
```
**当前验证覆盖了“构建、写入、读回一致”。**
## 2.3 独立工程与 SDK 基线
**本章记录目录为:**
```
D:\Project\Evaluation\Telink\eval_projects\01_gpio_key_led
```
**本章不是空目录,也不是只保存编译产物。工程内已经包含独立源码副本:**
```
src\build_config.json
src\sdk\
src\README.md
src\source_manifest.md
```
**其中 **`src\sdk` 是本章可编译的 SDK 源码快照。把本目录单独分享给别人时,对方可以查看、修改并重新构建本章使用的源码,不需要回到 00 号工程或直接改官方 SDK 原始目录。
**本章使用的主要源码入口为:**
```
src\sdk\vendor\feature_test\feature_soft_timer
```
## 2.4 关键源码与配置
**与本章相关的主要文件如下:**
| **文件** | **作用** |
| ------------------------------------------------------------------- | -------------------------------------------------- |
| `src\sdk\vendor\feature_test\feature_config.h` | **通过**`FEATURE_TEST_MODE`选择 feature 示例 |
| `src\sdk\vendor\feature_test\feature_soft_timer\main.c` | **示例入口** |
| `src\sdk\vendor\feature_test\feature_soft_timer\app.c` | **soft timer 测试主逻辑** |
| `src\sdk\vendor\feature_test\feature_soft_timer\app_ui.c` | **UI、LED 或按键相关辅助逻辑** |
| `src\sdk\vendor\feature_test\feature_soft_timer\app_config.h` | **示例配置** |
**本章实际构建时使用:**
```
FEATURE_TEST_MODE=TEST_SOFT_TIMER
```
**后续如果要把本章改成更直接的点灯工程,可以优先在 **`feature_soft_timer` 基础上修改 LED 引脚、定时周期和按键触发逻辑。
## 2.5 编译、烧录与读回校验
**在本章目录中重新构建并补烧,可以使用统一脚本:**
```
powershell -NoProfile -ExecutionPolicy Bypass -File ..\run_tl322x_eval_matrix.ps1 -OnlyProjects 01_gpio_key_led
```
**只重新构建、不写入开发板时使用:**
```
powershell -NoProfile -ExecutionPolicy Bypass -File ..\run_tl322x_eval_matrix.ps1 -OnlyProjects 01_gpio_key_led -NoFlash
```
**手动烧录时沿用第一章已经验证过的 TC 链路:**
```
TC.exe all
TC.exe ulf 0 0 -d 1 --chip=TL322X
TC.exe wf 0 -i firmware\eval01_soft_timer_gpio_led.bin -d 1 --chip=TL322X
TC.exe rf 0 141796 -o firmware\eval01_soft_timer_gpio_led_readback.bin -d 1 --chip=TL322X
TC.exe rst -f -d 1 --chip=TL322X
```
**本章已经完成读回校验:**
```
Firmware SHA256:
421506319594010250701FBE4E3EA9B0CD0C0E1E53D1AE118B3F48EA4DF947F0
Readback SHA256:
421506319594010250701FBE4E3EA9B0CD0C0E1E53D1AE118B3F48EA4DF947F0
```
**板载 USB 转 UART 使用 CH343,对应 TL3228X 的 **`PD6`/`PD7`:
```
PD6 = UART_TX
PD7 = UART_RX
串口参数 = COM41, 1000000, 8N1
启动日志 = TEST_SOFT_TIMER init:
```
## 2.6 实测现象
**当前已经确认:**
```
1. 01 号工程可以独立完成 TL322X 固件构建;
2. 固件可以写入开发板 Flash;
3. Flash 读回内容与本地固件 SHA256 一致;
4. 本章源码位于工程自己的 src\sdk 中,可以独立修改;
5. 通过板载 CH343 的 `COM41` 可以看到固件启动日志;
6. 红灯 `PC7` 保持 100 ms 翻转,用于示波器观察周期波形;
7. SW3/SW4/SW5/SW6 可以触发 LED 与串口日志变化。
```
```
SW3:切换蓝灯,串口输出 SW3 Vol+ toggle BLUE
SW4:切换绿灯,串口输出 SW4 Vol- toggle GREEN
SW6:切换白灯,串口输出 SW6 toggle WHITE Pair begin,松开后输出 Pair end
SW5:切换白灯,串口输出 SW5 toggle WHITE Unpair
PC7:红灯周期翻转,用万用表、示波器或逻辑分析仪观察电平变化
```
## 2.7 图片和视频展示
!(//m.qjumbo.com/forum/data/attachment/forum/202607/03/113534lm00e3koroyryszr.png)
!(//m.qjumbo.com/forum/data/attachment/forum/202607/03/113559h2u2il2us2gd2sis.png)
!(//m.qjumbo.com/forum/data/attachment/forum/202607/03/113623qpajs7m39r3avjrm.png)
* **LED、按键对应 GPIO截图**
!(//m.qjumbo.com/forum/data/attachment/forum/202607/03/113838rqq6ahehq74t5ak6.jpg)
* **固件运行后板载 LED 亮灭状态照片**
!(//m.qjumbo.com/forum/data/attachment/forum/202607/03/113944b7phoknajf0p3ukr.png)
* **按键触发时串口或日志窗口输出截图,体现按下/松开计数或中断响应**
!(//m.qjumbo.com/forum/data/attachment/forum/202607/03/114053lvxd2xxijzvaxq25.jpg)
* **示波器观察 GPIO 周期翻转波形的照片**
* **LED 按固定周期闪烁视频**
* **按键触发 LED 变化的视频**
## 2.8 本章测试结论
**阶段性结论:**
```
1. 01 号工程已经具备独立源码、固件产物和验证日志;
2. 固件构建、烧录和读回校验通过;
3. LED、按键和 GPIO 波形的实物验证完成。
```
## 2.9 本章小结
**第二章把 TL322X 的基础外设测试工程独立了出来。当前最关键的工程可复现性已经满足:别人拿到 **`01_gpio_key_led` 目录后,可以看到源码、查看构建配置、重新生成固件,并根据本章记录继续补充 LED、按键和 GPIO 实测。
可以的!;P
页:
[1]