stm32 定时器中预分频系数是什么作用? 72MHz 想要让定时器 100次/s 该怎么写配置代码? 20
timer_init(TIM3,999,7199);这行是什么意思?是用7199÷999吗?timer_init(TIM2,99,7199);这两行的意思是将tim3和t...
timer_init(TIM3,999,7199); 这行是什么意思? 是用 7199÷999 吗?
timer_init(TIM2,99,7199);
这两行的意思是将 tim3 和 tim2 这两个定时器按照 毫秒级的时间 去计数吗?
tim3 计数到 999ms 毫秒 给一个中断?
然后tim2 计数到 99ms 毫秒 给一个中断吗?如果是这个意思那预分频是在什么地方分的?
求解答啊 啊啊 啊啊啊 ,谢谢。 展开
timer_init(TIM2,99,7199);
这两行的意思是将 tim3 和 tim2 这两个定时器按照 毫秒级的时间 去计数吗?
tim3 计数到 999ms 毫秒 给一个中断?
然后tim2 计数到 99ms 毫秒 给一个中断吗?如果是这个意思那预分频是在什么地方分的?
求解答啊 啊啊 啊啊啊 ,谢谢。 展开
3个回答
展开全部
timer_init(TIM3,999,7199);这是一个人为写的函数,第一个参数应该是TIMx,就是启用那个定时器,这里选择了TIM3,第二个次数3999是自动重新装载值,就是你要计数多少次,stm32真正计数次数需要加一,也就是999+1=1000次,第三个参数是定时器预分频系数,将TIM挂的时钟分频,这里7199一样要加一,预分频系数就是7200,那么你的分频时钟就是72MHz/7200 = 10KHz,计数次数是1000次,计数时间就是1000/10KHz = 0.1s会触发一次定时器溢出中断。;计数精度的0.1ms。
2018-08-23
展开全部
999是装载值,7199是预分频系数,72M%(999+1)%(7199+1)=10HZ,即10次/s,timer_init(TIM2,99,7199);实现的是100次/s。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以前接触过别的单片机吗?比如51,AVR,PIC还是直接就上手STM32的
追问
以前没接触过别的单片机。
就简单看了看stm32的芯片手册,算是直接上的吧 ,现在要我取到传感器数据传输时候某一条数据的系统时间 ,不知道怎么弄,有人建议用定时器,不太懂所以问一下,研究研究
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询