打印
[应用相关]

为什么不是TBCCR0=1000?而是TBCCR0=1000-1呢?

[复制链接]
743|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
androidbus|  楼主 | 2020-6-23 21:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TBCCTL0 = CCIE; // TRCCR0 interrupt ena××ed
TBCCR0 = 1000-1;
TBCTL = TBSSEL_1 + MC_1; // ACLK, up mode
为什么不是TBCCR0=1000?而是TBCCR0=1000-1呢?

使用特权

评论回复
沙发
litengg| | 2020-6-23 21:27 | 只看该作者
因为是从0开始计数的,1000-1正好记1000个。。

使用特权

评论回复
板凳
qiangweii| | 2020-6-23 21:33 | 只看该作者
在Timer工作在增技术是,要注意不同的中断向量会造成定时中断的效果不同。

使用特权

评论回复
地板
shashaa| | 2020-6-23 21:36 | 只看该作者
TBCCTL0的中断在TBR计数到999时发生,而TBIFG则是计数到0时发生,两个中断会差一个count的时间

使用特权

评论回复
5
xia00| | 2020-6-23 21:44 | 只看该作者
3#6#都说的是啊,一般都是要减一的,不然就计数成1001了

使用特权

评论回复
6
hfdy01| | 2020-6-23 21:46 | 只看该作者
确实是从0开始计数的问题,一般的计数器都是这样的。。

使用特权

评论回复
7
hfdy01| | 2020-6-23 21:55 | 只看该作者
一般使用配置函数的时候不需要这样设计。

使用特权

评论回复
8
CallReceiver| | 2020-6-23 21:57 | 只看该作者
这个跟计数的方式有关系。。。

使用特权

评论回复
9
CallReceiver| | 2020-6-23 22:00 | 只看该作者
就是技术到999就满足要求了。

使用特权

评论回复
10
boy1990| | 2020-6-23 22:10 | 只看该作者
什么定时器需要这样配置??

使用特权

评论回复
11
sourceInsight| | 2020-6-23 22:10 | 只看该作者
计算出来0-999才是1000的。

使用特权

评论回复
12
bbapple| | 2020-6-23 22:22 | 只看该作者
计数到1000 就是1001个数了吧。

使用特权

评论回复
13
handleMessage| | 2020-6-23 22:22 | 只看该作者
自己配置的寄存器是什么?

使用特权

评论回复
14
zhouhuanの| | 2020-6-23 22:26 | 只看该作者
配置999 正好是1000.

使用特权

评论回复
15
wanglaojii| | 2020-6-23 22:31 | 只看该作者
你不知道需要配置什么模式呢?

使用特权

评论回复
16
laozhongyi| | 2020-6-23 22:32 | 只看该作者
TBCCR0=1000-1 就是计算1000个。

使用特权

评论回复
17
Edisons| | 2020-6-23 22:36 | 只看该作者
对的 一般的计数器都是从0开始的。

使用特权

评论回复
18
_gege| | 2020-6-23 22:37 | 只看该作者
不同的中断向量会造成定时中断的效果不同。

使用特权

评论回复
19
renzheshengui| | 2020-7-10 14:36 | 只看该作者
应为是从0开始的啊

使用特权

评论回复
20
wakayi| | 2020-7-10 14:37 | 只看该作者
想要计数1000 那就是从0到999

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

181

主题

1597

帖子

3

粉丝