OpenEdv-开源电子网

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

关于TIMx_CR1寄存器APRE的问题

[复制链接]

4

主题

9

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-8-16
在线时间
7 小时
发表于 2016-8-26 21:32:08 | 显示全部楼层 |阅读模式
3金钱
1.jpg 2.jpg

1处是定时器3的中断初始化;2是定时器3的PWM输出初始化,
代码中同样都给TIMx_ARR寄存器装了值,但是为什么上下差了一个语句:
TIM3->CR1=0x0080;           //ARPE使能
查了一下寄存器的对应位:APRE,自动重装载预装载允许位。我理解这个位在两个初始化中都应该有,
但是在PWM输出试验中,删除这个语句,外观看,对实验没有影响啊???


最佳答案

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

这个功能是面向高级用户的, 简单来说如果程序中动态调整ARR的值,有可能影响PWM中的某个波形严重异常,这在使命-安全系统中是绝对不能容忍的, 当然在宏观上是看不出来任何差异的(尤其是频率比较高的时候,转瞬即逝,示波器都很难抓取到), 类似的还有TIMx->CCMRi[OCnPE]
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-8-26 21:32:09 | 显示全部楼层
这个功能是面向高级用户的,
简单来说如果程序中动态调整ARR的值,有可能影响PWM中的某个波形严重异常,这在使命-安全系统中是绝对不能容忍的,
当然在宏观上是看不出来任何差异的(尤其是频率比较高的时候,转瞬即逝,示波器都很难抓取到),
类似的还有TIMx->CCMRi[OCnPE]
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

4

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2015-4-18
在线时间
17 小时
发表于 2016-8-26 23:30:35 | 显示全部楼层
你再试一下自动重装在参数arr动态变化的情况。如果arr是定值的话,可能没什么影响。
回复

使用道具 举报

4

主题

9

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-8-16
在线时间
7 小时
 楼主| 发表于 2016-8-27 08:09:17 | 显示全部楼层
xkwy 发表于 2016-8-27 07:13
这个功能是面向高级用户的,
简单来说如果程序中动态调整ARR的值,有可能影响PWM中的某个波形严重异常,这 ...

这个pwm实验里面只是动态修改了CRR2寄存器,那是不是可以去掉这个语句
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-30 15:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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