找回密码
 立即注册
查看: 894|回复: 3

关于PWM的小白问题

[复制链接]

1

主题

1

回帖

23

积分

新手上路

积分
23
发表于 2023-4-26 08:54:58 | 显示全部楼层 |阅读模式
本人刚接触单片机,根据网站的屠龙刀教学视频在学习,在学习PWM时刚好要用到和例程《098-高级PWM定时器-输入捕获-PWM输入信号测量模式-测脉冲高电平宽度(占空比)-MAX7219数码管》中差不多的要求,于是做了修改,具体需求是,读取2路PWM信号的高电平宽度(P1.0,P1.4),做一定比例的计算后直接给2路PWM输出(P2.0,P2.1),使用STC32G8K64-BETA,实际做好后,当不接入外部PWM时,2个PWM直接就输出高电平,不知道怎么改程序,请老师指导一下,程序如下图
keil.png
KEIL2.png
KEIL3.png
KEIL4.png
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2023-4-27 15:43:39 | 显示全部楼层
没有检测到输入的PWM信号,就将输出PWM占空比设置为0即可。
回复 支持 反对

使用道具 举报 送花

1

主题

1

回帖

23

积分

新手上路

积分
23
发表于 2023-4-27 16:40:32 | 显示全部楼层
梁*** 发表于 2023-4-27 15:43
没有检测到输入的PWM信号,就将输出PWM占空比设置为0即可。

感谢梁工的回复,我就是不知道怎么检测PWM有没有输入,我在程序中写的是   if(capa ==0) duty1=0,updateduty=1,但是这么写与if(capa<1500)打架了,量一下输出PWM还是高电平,请您指导一下

点评

简单,设置超时,比如超过2个PWM周期都检测不到边沿,则超时,此时判断输入是高电平(100%占空比)则输出PWM=100%,低电平则PWM=0%  详情 回复 发表于 2023-4-28 11:26
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2023-4-28 11:26:19 | 显示全部楼层
czl*** 发表于 2023-4-27 16:40
感谢梁工的回复,我就是不知道怎么检测PWM有没有输入,我在程序中写的是   if(capa ==0) duty1=0,updated ...

简单,设置超时,比如超过2个PWM周期都检测不到边沿,则超时,此时判断输入是高电平(100%占空比)则输出PWM=100%,低电平则PWM=0%
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 15:04 , Processed in 0.160295 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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