示波器看stm32pwm
时间: 2025-02-03 10:01:31 浏览: 72
### 使用示波器检查 STM32 PWM 输出波形
#### 准备工作
为了确保能够正确地使用示波器观察STM32产生的PWM信号,需准备以下工具和材料:
- 配置好的STM32开发板并已加载好用于生成PWM信号的固件[^1]。
- 数字存储示波器(DSO),带有至少一个探头。
#### 连接硬件
将示波器探针连接至目标测试点。通常情况下,PWM输出会通过GPIO引脚实现。因此,应找到对应的PWM通道所关联的GPIO引脚,并将示波器的地线夹固定于电路板上的公共接地位置;而探针尖端则接触选定的PWM输出引脚[^2]。
#### 设置示波器参数
调整示波器的时间基底与时域窗口大小以便清晰显示完整的周期特性。对于大多数应用场景而言,时间刻度可以设为微秒级单位(如每格5μs或更短)。此外,还需调节电压灵敏度使得波形占据屏幕较大比例但不超过上下限范围,从而获得最佳视觉效果。
#### 观察与分析波形特征
一旦完成上述准备工作后开启设备电源供应,则可在显示屏上看到由STM32发出的实际PWM脉冲序列图形化表示形式。此时可以根据具体需求进一步优化视图展示方式,比如改变触发模式来稳定图像刷新频率或者启用自动测量功能获取占空比百分比等定量指标数据[^3]。
```cpp
// 示例代码片段:初始化TIM2定时器以产生PWM信号
void TIM2_PWM_Init(void){
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO ,ENABLE);
// PA0作为TIM2 CH1输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
TIM_TimeBaseStructure.TIM_Period = 999 ;
TIM_TimeBaseStructure.TIM_Prescaler =71 ;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_Pulse = 499;
TIM_OC1Init(TIM2, &TIM_OCInitStructure);
TIM_Cmd(TIM2, ENABLE);
}
```
阅读全文
相关推荐


















