STM32F407定时器初始化Prescaler和Period是不是不能同时设置成0...
调试STM32F407定时器timer1,现在APB2调成了168M,我想让timer1每个周期都进中断,所以就把Prescaler和Period都设置成0了,用下面这个公式:f=tck/(psc+1)*(arr+1)
tck为时钟频率,psc为时钟预分频系数,arr为自动重装载值;
理论上应该是可以的,但是发现这样设置每次都进不了中断,之后把Period调成1了,就可以进中断了,但是频率没有84M,这种情况是不是我设置的频率太高了处理不过来,会有问题呢,求大神指点指点~
下面是定时器配置
定时器回调函数
应该不可以为0 Tcreat 发表于 2020-8-14 16:21
应该不可以为0
其中一个为0就是没有问题的(我试了预分频参数为0没问题),还有一点就是我把Prescaler和Period设置的大些,这样整体的频率就很准,但是设置很小频率就不准了,一个周期会比正常的要长 牛皮 大佬的操作深不可测 tanic 发表于 2020-8-14 17:25
牛皮
是菜鸟,哪里不对能帮忙指出来吗 likang1202 发表于 2020-8-14 17:38
大佬的操作深不可测
是个菜鸟,哪不对能帮忙指出来吗 其实我想调这么高的频率,就是想输出两种频率的二十几兆的方波,两种方波来回切换,还要要求相位对应,没有办法了,就想到频率调到最高,然后在中断中计数方法来实现,大神们,我这个哪里有问题,希望各位不吝赐教~~ 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就不能正常工作了。
页:
[1]