找回密码
 立即注册
查看: 17|回复: 2

请教布丁橘长,PWM测方波频率

[复制链接]
  • 打卡等级:以坛为家III
  • 打卡总天数:681
  • 最近打卡:2026-04-02 10:10:33

26

主题

214

回帖

1408

积分

金牌会员

积分
1408
发表于 昨天 21:31 | 显示全部楼层 |阅读模式
布丁橘长老师,按照你的STC32G的0-100集视频教程配套程序"第092-高级PWM定时器-输入捕获-触发模式-捕获一个周期-上升沿到上升沿-方波频率测量-MAX7219数码管",下载到屠龙刀板,程序运行正常,但是将频率降低到约350HZ以下,频率显示结果就不正常了,难道这个程序不能测低频率,还是我哪里没搞明白?特此请教布丁橘长老师,请解惑!谢谢!


原程序的设定:#define PWMB_PSC (12 - 1)                        // 12分频,时钟周期1us
                      #define PWMB_PERIOD_500        2000        // 周期2毫秒,500Hz
                     程序运行数码管显示500hz正常。                  
如果同样主频和分频情况下,作如下修改:

                     #define PWMB_PSC (12 - 1)                        // 12分频,时钟周期1us
                     #define PWMB_PERIOD_500         4000        // 周期4毫秒,250Hz

                   数码管显示为0001hz,不正常。经试验,只要PWMB_PERIOD_500的值超过2800就不正常了。不知我哪里没搞对,请老师及其它大佬解惑,谢谢!

视频配套例程20230509.zip

792.83 KB, 下载次数: 1

回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:653
  • 最近打卡:2026-04-02 10:07:54
已绑定手机

52

主题

2542

回帖

8922

积分

论坛元老

积分
8922
发表于 10 小时前 | 显示全部楼层
捕获脉宽时间=捕捉的时钟数/PWM时钟源, 比如 捕捉的时钟数 = 500, PWM时钟源 = 24MHz(1T), 脉宽 = 500/24MHz = 20.83us.
捕捉的时钟数范围:0~65535
如果需要捕获的脉宽超出时钟数计数范围,就会导致时钟数计数溢出,这种情况可通过PWMA_PSCRH/PWMA_PSCRL寄存器对PWM时钟进行分频
截图202604021056346861.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:681
  • 最近打卡:2026-04-02 10:10:33

26

主题

214

回帖

1408

积分

金牌会员

积分
1408
发表于 7 小时前 | 显示全部楼层
乘风*** 发表于 2026-4-2 10:57
捕获脉宽时间=捕捉的时钟数/PWM时钟源, 比如 捕捉的时钟数 = 500, PWM时钟源 = 24MHz(1T), 脉宽 = 500/24MH ...

#define PWMB_PSC (12 - 1)                        // 12分频,时钟周期1us
#define PWMB_PERIOD_500         4000        // 周期4毫秒,250Hz

这个周期数也没有超过65536啊,是低频哟,是250HZ。
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-4-2 21:11 , Processed in 0.102161 second(s), 56 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表