你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F407定时器初始化Prescaler和Period是不是不能同时设置成0...

[复制链接]
xiangnan949 提问时间:2020-8-14 15:01 /
调试STM32F407定时器timer1,现在APB2调成了168M,我想让timer1每个周期都进中断,所以就把Prescaler和Period都设置成0了,用下面这个公式:
f=tck/(psc+1)*(arr+1)
tck为时钟频率,psc为时钟预分频系数,arr为自动重装载值;
理论上应该是可以的,但是发现这样设置每次都进不了中断,之后把Period调成1了,就可以进中断了,但是频率没有84M,这种情况是不是我设置的频率太高了处理不过来,会有问题呢,求大神指点指点~
下面是定时器配置
1597388248.png
定时器回调函数
1597388342(1).png

收藏 评论8 发布时间:2020-8-14 15:01

举报

8个回答
Tcreat 回答时间:2020-8-14 16:21:22
应该不可以为0
xiangnan949 回答时间:2020-8-14 17:01:22

其中一个为0就是没有问题的(我试了预分频参数为0没问题),还有一点就是我把Prescaler和Period设置的大些,这样整体的频率就很准,但是设置很小频率就不准了,一个周期会比正常的要长
tanic 回答时间:2020-8-14 17:25:48
牛皮
李康1202 回答时间:2020-8-14 17:38:08
大佬的操作深不可测
xiangnan949 回答时间:2020-8-14 17:39:44

是菜鸟,哪里不对能帮忙指出来吗
xiangnan949 回答时间:2020-8-14 17:40:04
likang1202 发表于 2020-8-14 17:38
大佬的操作深不可测

是个菜鸟,哪不对能帮忙指出来吗
xiangnan949 回答时间:2020-8-14 17:44:41
其实我想调这么高的频率,就是想输出两种频率的二十几兆的方波,两种方波来回切换,还要要求相位对应,没有办法了,就想到频率调到最高,然后在中断中计数方法来实现,大神们,我这个哪里有问题,希望各位不吝赐教~~
废鱼 回答时间:2020-8-14 22:16:43
Each time the REP_CNT related downcounter reaches zero, an update event is generated
and it restarts counting from REP value.
从功能上理解,per时TIM++或者--后与per相比较,当per为0时或者上限时产生中断。可以理解当配置为0时,TIM就不能正常工作了。

评分

参与人数 1ST金币 +2 收起 理由
xiangnan949 + 2 很给力!非常感谢,理解了

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版