[STM32F3] 在示波器上测得信号与设置信号不一样

[复制链接]
560|10
 楼主| lvluoo 发表于 2025-6-27 13:18 | 显示全部楼层 |阅读模式
我使用STM32CubeIDE开发STM32F3。时钟配置为36MHz,预分频3600,计数器周期1000和 500。
为什么我在示波器上测到10Hz,3.14V和100ms的信号?

公羊子丹 发表于 2025-7-31 13:39 | 显示全部楼层
你这个计数器设置有点怪,预分频3600对36MHz时钟来说太大了,实际计数频率降太多。
周半梅 发表于 2025-7-31 13:40 | 显示全部楼层
36MHz / 3600 = 10kHz,再除以1000的周期,实际定时器输出频率是10Hz,跟你示波器上的频率是对应的。
帛灿灿 发表于 2025-7-31 13:40 | 显示全部楼层
3.14V信号可能是因为你的测量基准和输出电压范围有关,确认一下DAC或者PWM的输出电压。
童雨竹 发表于 2025-7-31 13:42 | 显示全部楼层
100ms的周期正好对应10Hz信号的周期,说明定时器配置是对的。
万图 发表于 2025-7-31 13:46 | 显示全部楼层
你想要别的频率,可以调整预分频或者计数器周期来改变输出。
Wordsworth 发表于 2025-7-31 13:49 | 显示全部楼层
有时候示波器测量信号偏差,是探头接地或带宽设置导致的,要检查下示波器设置。
Bblythe 发表于 2025-7-31 13:49 | 显示全部楼层
你可以用公式算一下实际输出频率:Freq = Timer_Clock / (Prescaler+1) / (Period+1)。
Pulitzer 发表于 2025-7-31 14:00 | 显示全部楼层
STM32F3的定时器计数模式和时钟源也会影响最终信号,确认下是内部时钟还是外部时钟。
Uriah 发表于 2025-7-31 14:00 | 显示全部楼层
如果用PWM输出,电压幅值受供电电压和占空比影响,3.14V可能是占空比对应电压。
Clyde011 发表于 2025-7-31 14:01 | 显示全部楼层
建议用CubeMX生成的代码基础上调整参数,逐步验证时钟和定时器配置。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

93

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部