OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3279|回复: 5

有关PWM的频率问题!!求解答

[复制链接]

2

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2014-7-24
在线时间
1 小时
发表于 2015-6-19 19:06:18 | 显示全部楼层 |阅读模式
5金钱
 int main(void)
 {
  u16 led0pwmval=0;
u8 dir=1;
delay_init();     //延时函数初始化  
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(9600); //串口初始化为9600
  LED_Init();     //LED端口初始化
  TIM3_PWM_Init(899,0); //不分频。PWM频率=72000/900=80Khz
    while(1)
{
  delay_ms(10);  
if(dir)led0pwmval++;
else led0pwmval--;

  if(led0pwmval>300)dir=0;
if(led0pwmval==0)dir=1;  
TIM_SetCompare2(TIM3,led0pwmval);   
}  
 }
这个是例程里边的主函数,让我很纠结的是,现在PWM的输出频率理应是80KHZ,为什么在使用的时候还是要加延时函数delay_ms(10);?我一开始分析是认为一个延时函数是10ms,那么X=300就是3s,那如果是这样的话,那这个PWM的频率不是没有用了么?我在想是不是这样的,假设PWM的led0pwmval现在为某一个数值,PWM一个周期是1/80khz,而在10ms之内,有若干个1/80khz的PWM周期的宽度都是led0pwmval的值? 
如果想利用这个频率来配合x的值,是不是要加中断呢?

最佳答案

查看完整内容[请看2#楼]

10ms更新 led0pwmval一次 频率没有改变的
电子制作很欢乐~!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5141
金钱
5141
注册时间
2014-8-26
在线时间
1317 小时
发表于 2015-6-19 19:06:19 | 显示全部楼层
10ms更新 led0pwmval一次
频率没有改变的
回复

使用道具 举报

2

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2014-7-24
在线时间
1 小时
 楼主| 发表于 2015-6-19 19:07:55 | 显示全部楼层
纠正一下,如果想利用这个频率来配合led0pwmval的值,是不是要加中断呢?
电子制作很欢乐~!
回复

使用道具 举报

2

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2014-7-24
在线时间
1 小时
 楼主| 发表于 2015-6-19 19:44:59 | 显示全部楼层
回复【3楼】login_FAE:
---------------------------------
那就是说,以1/80khz的PWM频率工作了10ms了?
电子制作很欢乐~!
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5782
金钱
5782
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-6-19 22:50:48 | 显示全部楼层
2L说很清楚了,定时器一直都是80K的频率计数(从0~899)
这个10ms   是用于更新占空比的   也就是每10ms   改变一次led的亮度
回复

使用道具 举报

9

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2018-7-4
在线时间
18 小时
发表于 2020-2-26 22:37:37 | 显示全部楼层
lycreturn 发表于 2015-6-19 22:50
2L说很清楚了,定时器一直都是80K的频率计数(从0~899)
这个10ms   是用于更新占空比的&nb ...

赞一个
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-25 22:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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