# 移植验证测试

## 测试目标
验证将ENS_EMSsine_TEST中的电刺激功能成功移植到TIMER_DEMO中，实现定时器和电刺激功能的同步运行。

## 测试环境
- 硬件：支持波形生成器的ARM Cortex-M0芯片
- 软件：Keil MDK 5.06
- 连接：UART串口、GPIO19、电刺激输出通道

## 测试步骤

### 1. 编译测试
1. 打开Keil MDK
2. 加载`ENS001_BASIC_PRJ.uvprojx`项目文件
3. 检查编译是否成功，无错误和警告
4. 确认新添加的源文件已包含在项目中：
   - `ENS1_BOOST.c`
   - `ENS1_WAVEGEN.c`

### 2. 功能测试

#### 2.1 定时器功能测试
- **测试目标**：验证GPIO19定时翻转功能
- **测试方法**：
  1. 用示波器或万用表监测GPIO19引脚
  2. 观察GPIO19是否每1秒翻转一次电平
  3. 通过UART观察定时器状态输出

- **预期结果**：
  - GPIO19每1秒翻转一次（高电平↔低电平）
  - UART输出类似：`1 s - 定时器运行正常，电刺激同步输出中`

#### 2.2 电刺激功能测试
- **测试目标**：验证方波电刺激输出
- **测试方法**：
  1. 连接电刺激输出通道到示波器
  2. 观察电刺激通道的方波输出
  3. 验证方波频率和强度是否符合配置

- **预期结果**：
  - 电刺激通道输出方波信号
  - 方波强度为128（中等强度）
  - 方波频率约为100Hz

#### 2.3 系统初始化测试
- **测试目标**：验证系统初始化信息
- **测试方法**：
  1. 通过UART观察系统启动信息
  2. 检查初始化参数是否正确

- **预期结果**：
  ```
  ========================================
  定时器电刺激综合测试启动
  ========================================
  GPIO19: 定时器指示（1秒翻转）
  电刺激: 方波输出（强度128）
  系统时钟: 32MHz HSI
  升压电压: 26V
  UART波特率: 115200
  ========================================
  ENS1 - WAVE_GENERATOR_DRIVER_A_Test - $Revision: R001
  ```

### 3. 性能测试

#### 3.1 定时精度测试
- **测试目标**：验证定时器精度
- **测试方法**：
  1. 用高精度示波器测量GPIO19翻转间隔
  2. 连续测量10次，计算平均值和标准差

- **预期结果**：
  - 翻转间隔：1.000 ± 0.001秒
  - 定时精度误差 < 0.1%

#### 3.2 电刺激稳定性测试
- **测试目标**：验证电刺激输出稳定性
- **测试方法**：
  1. 连续运行30分钟
  2. 观察电刺激输出是否稳定
  3. 检查是否有异常中断或停止

- **预期结果**：
  - 电刺激输出稳定，无异常
  - 定时器功能正常，无中断

### 4. 互不干扰测试

#### 4.1 功能独立性测试
- **测试目标**：验证定时器和电刺激功能互不干扰
- **测试方法**：
  1. 同时运行定时器和电刺激功能
  2. 观察两个功能是否独立运行
  3. 测试电刺激参数变化是否影响定时器

- **预期结果**：
  - 定时器功能不受电刺激影响
  - 电刺激功能不受定时器影响
  - 两个功能完全独立运行

## 测试结果记录

### 测试日期：_________
### 测试人员：_________

| 测试项目 | 测试结果 | 备注 |
|---------|---------|------|
| 编译测试 | □通过 □失败 | |
| 定时器功能 | □通过 □失败 | |
| 电刺激功能 | □通过 □失败 | |
| 系统初始化 | □通过 □失败 | |
| 定时精度 | □通过 □失败 | |
| 稳定性测试 | □通过 □失败 | |
| 互不干扰 | □通过 □失败 | |

### 问题记录
1. _________________________
2. _________________________
3. _________________________

### 改进建议
1. _________________________
2. _________________________
3. _________________________

## 测试结论
□ 移植成功，功能正常
□ 移植部分成功，需要进一步优化
□ 移植失败，需要重新设计

## 签名
测试人员：_________  日期：_________
审核人员：_________  日期：_________

