fnhp.net
当前位置:首页 >> 定时器重装载值 >>

定时器重装载值

第一个问题你看中断的内容就可知长指命在何时会对中断有影响了.可这自动重装载是不用中断的. 第二个问题是你还没看明白这自动重装载的用法.它是将1计数器的一个十六位计数寄存器变成二个八位的了.每次计完低八位后它又把高八位的数重装载到低八位中去计数运行了.它一般常用做串口波特率发生器来用的.

定时器模式二或者你在定时中断里面重新赋初值.

自动重装载值ARR,确定了每次溢出周期,最后计算捕获时间的时候:TIME=ARR x 溢出次数+val.(val为最后一次还没溢出的时候,CNT的值)

定时器是依靠初始化时向定时器写入数据,由其自加直至溢出向CPU申请中断的,重载是指定时器溢出后,重新装入初始化时数据.

捕捉方式下,定时器不断循环计数,一旦有触发信号到来就将当前的定时器值另存一份(时器不会停止,所以形象的说捕捉);而自动重装载是定时器溢出后自动加载预设的值.

定时器启动后,是自动加一的,加到了 65536,就会产生中断.从零开始加,加到了 65536,产生中断,就用了 65536 us.如果从55536开始加,加到 65536,产生中断,就用 10000 us.初值,用来控制定时时间.具体时间,还和定时器的方式,以及所用的晶振频率有关.

自动重装载就是在定时器溢出后自动装入设定的初值,这样的好处当然是显而易见的,不需要在中断服务器里手动赋值了,所以可以精确的定时,比如T1和T2做波特率发生器时都需要设置成自动重装载模式就是如此.

定时器的初值就按照你想定的时间,和你选定的定时器的频率计算(这里注意:首先要看你选的定时器在哪个总线上,是apb1还是apb2?再要确定所在的总线的频率;然后看你定时器初始化的时候写进去的分频数,最后计算出定时器的周期,)用目标定时时间除以定时器周期得出定时器初值. 在定时器的中断里面写上点亮led的句子,并清掉定时器的中断标志.同时重装载计数初值.(重装载也可以在初始化的时候设置为自动重装载,那样的话,中断里就不需要再装了) 请参考

1 方法1 在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算出到下一次中断时,需多长时间,由此来重装载和启动定时器.例如定时周期为1ms,则通常定时器重装载值为-1000(0FC

TIM2->ARR=XXXX;

网站首页 | 网站地图
All rights reserved Powered by www.fnhp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com