定时器

[复制链接]
2102|5
 楼主| teabottle 发表于 2012-2-18 22:40 | 显示全部楼层 |阅读模式
TBCCTL0 = CCIE; // TRCCR0 interrupt ena××ed

TBCCR0 = 1000-1;

TBCTL = TBSSEL_1 + MC_1; // ACLK, up mode


为什么不是TBCCR0=1000?而是TBCCR0=1000-1呢?是在增计数模式下特例吗
wangjinlili 发表于 2012-2-18 23:06 | 显示全部楼层
因为是从0开始计数的,1000-1正好记1000个
meishizhaoshi 发表于 2012-2-18 23:24 | 显示全部楼层
在初始设置可以是CCR0=1000-1;

进入中断后,也就装入新的值是CCR0+=1000;
modernthink 发表于 2012-2-18 23:44 | 显示全部楼层
在Timer工作在增技术是,要注意不同的中断向量会造成定时中断的效果不同。
TBCCTL0的中断在TBR计数到999时发生,而TBIFG则是计数到0时发生,两个中断会差一个count的时间
lizye 发表于 2012-2-19 13:09 | 显示全部楼层
看不懂
peter_zheng 发表于 2012-2-20 17:06 | 显示全部楼层
1# teabottle 从0开始到999是1000个计数值
您需要登录后才可以回帖 登录 | 注册

本版积分规则

97

主题

1441

帖子

1

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