打印
[STM8]

TIM2的初始化代码看不懂,请讲解一下

[复制链接]
2260|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zini1900|  楼主 | 2013-12-13 17:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
        TIM2_IER = 0x00;           
        TIM2_EGR = 0x01;         
        TIM2_PSCR = 0x01;         
        TIM2_ARRH = 0XEA;           
        TIM2_ARRL = 0X60;
        TIM2_CNTRH = 0XEA;
        TIM2_CNTRL = 0X60;
        TIM2_CR1=0X01;
        TIM2_IER = 0x01;
                _asm("rim");
EGR是做什么用的
IER为什么开头设为0,最后又设为1
CNTR是计数初始值,ARR是溢出值,这两个值相等的话不就是没有计数吗
沙发
huiguang_1| | 2013-12-15 17:40 | 只看该作者
EGR是重新初始化计数器的,IER不开启的话你进不去定时器中断,CNTR是本身不断变化的,计数到溢出值就归零。所以CNTR开始为多少都无所谓。

使用特权

评论回复
板凳
zini1900|  楼主 | 2013-12-15 18:30 | 只看该作者
huiguang_1 发表于 2013-12-15 17:40
EGR是重新初始化计数器的,IER不开启的话你进不去定时器中断,CNTR是本身不断变化的,计数到溢出值就归零。 ...

重新初始化计数器能不能讲得详细一些,IER一开始为0是为了在初始化还没有设置好定时器的时候不让定时器进行中断吗?CNTR与ARR相同,是不是定时器一开始计数就进入中断。

使用特权

评论回复
地板
huiguang_1| | 2013-12-15 19:36 | 只看该作者
1、重新初始化计数器:当你TIM2_CNTR计数到某数值的时候,重新初始化会使TIM2——CNTR清零。
2、也算是吧,一般其他的配置完了,才允许进中断。
3、是的。计数到ARR产生更新中断。

使用特权

评论回复
5
gpjun2008| | 2013-12-16 09:33 | 只看该作者
EGR的初始化如果没有用到捕获可以不用,可以把那句注释掉。但是如果用到捕获必须得TIME2_EGR=0x02等等,不然进不去中断

使用特权

评论回复
6
xiaox314| | 2014-1-9 09:10 | 只看该作者
还是多看看资料!

使用特权

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

本版积分规则

31

主题

106

帖子

0

粉丝