继续请教:关于定时器和输入捕获。

[复制链接]
 楼主| mc9s08aw60 发表于 2007-4-20 09:54 | 显示全部楼层 |阅读模式
1&nbsp;如果设定了TPM2MOD=0x01FF,为定时器溢出时间,是不是输入捕获的周期大于0X01FF个数时,发生定时器中断,会导致捕获时发生中断,计数器清零?<br /><br />2&nbsp;如果我想定时1MS的话,如果捕获外部时间大于1MS,比如5MS,是不是捕获过程中会发生4~5次中断,计算捕获时间时,不能直接用第二次记数值减第一次?<br /><br />3&nbsp;现在需要一个短时间的定时和一个比较长周期的捕获。如果他们的模寄存器是两个就好了,一个模寄存器用起来不自由啊。<br /><br />4&nbsp;刚开始用,有不对的地方,请指教。<br />谢谢。
XUHUADONG 发表于 2007-4-23 14:52 | 显示全部楼层

使用2个TIME

1。捕获时,模数为最大的计数周期,用溢出中断时,就不能用捕获中断。<br />2。要分开计时。<br />3。要使用两个TIME&nbsp;或者短的溢出计时查询捕获,会导致计数不是太准<br /><br />具体应用可看资料,教科书都有介绍。
张明峰 发表于 2007-4-23 16:57 | 显示全部楼层

短时间的定时和一个比较长周期的捕获共存

可以变通一下,不要用改变模寄存器值来设定定时器的溢出率产生段时间中断。要我做:<br />1)设模寄存器值为0xffff,16位定时器自由计数;<br />2)短时间定时中断可以用输出比较功能实现(占用TIM一路)。进入输出比较中断后调整下次输出比较时间;<br />3)输入捕捉功能照旧。<br />4)若输入捕捉的信号间隔大于16位定时器的一次计数周期,则需要用软件对计数位数做扩充(增加高位字节)。在定时器溢出中断服务中对高位字节递增,软件必须处理所有有效数据位。
 楼主| mc9s08aw60 发表于 2007-4-24 12:37 | 显示全部楼层

非常感谢两位。

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

本版积分规则

12

主题

133

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部