打印
[STM8]

在STM8中CNTR有什么用?

[复制链接]
624|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dingy|  楼主 | 2020-5-29 22:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void TIM4_Init(void)//256us中断一次
{

TIM4_EGR = 0x01; // 允许产生更新事件
TIM4_PSCR = 0x07;//计数器时钟=主时钟/128=16MHZ/128 //相当64us
TIM4_ARR = 31;// 设定重装载时的寄存器值,255是最大值
TIM4_CNTR = 31; // 设定计数器的初值 // 定时周期=(ARR+1)*64=16.320mS,本次为2ms
TIM4_CR1 = 0x01; // b0 = 1,允许计数器工作// b1 = 0,允许更新// 设置控制器,启动定时器
TIM4_IER = 0x01;// 允许更新中断
_asm("rim"); // 允许CPU全局中断
}


在STM8中CNTR有什么用?

使用特权

评论回复
沙发
kangzj| | 2020-5-29 22:46 | 只看该作者
测试中不管设置什么值延时时间都没有变化。

使用特权

评论回复
板凳
dingy|  楼主 | 2020-5-29 22:47 | 只看该作者
如果我要设置成5us中断一次   TIM4_APP要如何设置

使用特权

评论回复
地板
langgq| | 2020-5-29 22:49 | 只看该作者
我的程序里在中断服务程序里改变了初值CNTR,功能正常,你试试。

使用特权

评论回复
5
dingy|  楼主 | 2020-5-29 22:50 | 只看该作者
我的也是啊!中断设置成2ms这个CNTR不管怎么设置好像都不会有影响

使用特权

评论回复
6
dingy|  楼主 | 2020-5-29 22:54 | 只看该作者
还有ST的参考手册上说TIM4是个向上增长计数器,我怎么感觉是个向下的?

使用特权

评论回复
7
chenho| | 2020-5-29 22:56 | 只看该作者
“写计数器的操作没有缓存,并且可以在任何时候写TIM1_CNTRH和TIM1_CNTRL寄存器”

使用特权

评论回复
8
llljh| | 2020-5-29 22:58 | 只看该作者
“在向上计数模式中,计数器从0计数到用户定义的比较值(TIMx_ARR寄存器的值),然后重新从0开始计数并产生一个计数器溢出事件”,

使用特权

评论回复
9
stly| | 2020-5-29 23:02 | 只看该作者
在你这里,你把TIM4_CNTR设置为31,等于TIM4_ARR,意思是说,TIM4从31开始计数然后在TIM4_CNTR等于31时触发中断。。。。。这好像没有意义啊

使用特权

评论回复
10
supernan| | 2020-5-29 23:05 | 只看该作者
计时时间应该是计时器时钟周期的整数倍

使用特权

评论回复
11
supernan| | 2020-5-29 23:08 | 只看该作者
用这种方法是无法64us得到5us的。

使用特权

评论回复
12
dingy|  楼主 | 2020-5-29 23:11 | 只看该作者
STM8在2MHZ下运行  ,TIME4设置128分频,算下来确实是64us,确实没法得到5us  

使用特权

评论回复
13
pangb| | 2020-5-29 23:16 | 只看该作者
那就直接不分频,16Mhz大概是59.6ns的周期

使用特权

评论回复
14
zyf部长| | 2020-5-29 23:18 | 只看该作者
设置定时器计数84个周期产生中断就是5.0064us多一点

使用特权

评论回复
15
lium| | 2020-5-29 23:21 | 只看该作者
这个精度应该够用了吧

使用特权

评论回复
16
pengf| | 2020-5-29 23:25 | 只看该作者
ARR = FREQ_TIMCLK / 200000;  /* 频率200k 就是5us */

使用特权

评论回复
17
dingy|  楼主 | 2020-5-29 23:26 | 只看该作者
不分频是在大概62ns的周期吧?

使用特权

评论回复
18
ousj| | 2020-5-29 23:28 | 只看该作者
定时器设置也就80个周期就产生中断就可以了。

使用特权

评论回复
19
pengf| | 2020-5-29 23:30 | 只看该作者
算的不太一样?

使用特权

评论回复
20
wangzsa| | 2020-5-29 23:33 | 只看该作者
你是对的,我误按2的24次方算了

使用特权

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

本版积分规则

745

主题

10920

帖子

6

粉丝