chen55025470 发表于 2026-7-3 11:45:48

【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 实测。

eefocus_4255178 发表于 2026-7-29 22:16:21

可以的!;P
页: [1]
查看完整版本: 【Telink TL322X 测评】第二章:GPIO、按键与 LED 基础外设测试

Baidu
map