搜索
bottom↓
回复: 8

请教马老师:MI6定时器/计数器TCNT0的初值问题?

[复制链接]

出0入0汤圆

发表于 2009-8-13 02:59:22 | 显示全部楼层 |阅读模式
对定时器/计数器0的TCNT0赋初值(比如:TCNT0=0X93;)有什么意义????,我试验了,不管你赋初值多少,还是计数到TOP(定时器0是8位的,当然TOP=0XFF)值才更新从0X00开始,迷茫?????论坛中好多程序都赋了初值????  谢谢马老师

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-8-13 10:18:29 | 显示全部楼层
就是从1加到255,  或从200加到255的区别了,(比如说你学要计数5个脉冲,益处中断)。

出0入0汤圆

 楼主| 发表于 2009-8-13 12:40:59 | 显示全部楼层
谢谢一楼: hollymacs
我今天上午又弄了一下,试验是成功,我加了一个溢出中断,在溢出中断程序里面又从新给TCNT0赋值0X83,试验结果是计数器计数到OXFF时,又从新从0X83开始计数,不再是0X00,所以重新赋值很重要呀

出0入0汤圆

发表于 2009-8-13 12:45:33 | 显示全部楼层
CTC被无视了...

出0入0汤圆

 楼主| 发表于 2009-8-13 14:35:43 | 显示全部楼层
也不是了,我只是实验了一下普通模式,CTC模式当然好,没的说,谢谢3楼的意见

出0入0汤圆

发表于 2009-8-16 14:46:05 | 显示全部楼层
谢谢一楼: hollymacs  
我今天上午又弄了一下,试验是成功,我加了一个溢出中断,在溢出中断程序里面又从新给TCNT0赋值0X83,试验结果是计数器计数到OXFF时,又从新从0X83开始计数,不再是0X00,所以重新赋值很重要呀

========================================================================
还是理解的不正确。

AVR的定时器加到0XFF,并不产生溢出中断,而是到下一个计数脉冲到后,TCNT0变成0,同时产生溢出中断。因此,计数器还是到0x00了,甚至还会继续计到了1、2后,才由于你的中断服务中的重新赋值,才开始从0X83计数!!0开始的前面的几个计数被一般人忽视了。

如果你不使用或没有中断服务,那么定时器就一直是从0开始到255循环了。所以为了保证下一次定时的正确,需要在中断服务中首先赋初值。

但由于中断后,定时器仍然再继续工作,而中断响应需要时间,赋初值也需要时间,所以采用溢出中断附初值的方法,定时的时间是不精确的,要比理论的长一点。如果把赋初值放在中断的最后,定时时间还要不准,更加延长了。

所以CTC方式比溢出方式定时精确,使用也方便。

出0入0汤圆

 楼主| 发表于 2009-8-17 01:56:58 | 显示全部楼层
谢谢敬爱的马老师,通过你的解释我彻底明白了定时器的用法,我会记住您的意见(用CTC模式)。

出0入0汤圆

发表于 2009-8-27 12:16:57 | 显示全部楼层
我现在也在弄定时器0,也出现了一些无法理解的事情,郁闷中,下午把程序贴上来,给大家看下

出0入0汤圆

发表于 2009-9-3 10:02:21 | 显示全部楼层
感谢马老师!
再一次加深了理解。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-15 17:03

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表