首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

TCNT......请问,TCNT可以清零吗?

TCNT......请问,TCNT可以清零吗?

请问下,在我已经把TC7占用为输入捕捉的情况下,还如何再在输出比较符合的时候,把TCNT复位为0啊?

谢谢~

TCNT = 0 ,就可以清零,但是不能对TCNT赋值,如TCNT = 0x55,
1

评分次数

个人BLOG:http://blog.eccn.com/u/107300/index.htm

那比如,我让TC1=25000,TC2=50000,之后,我就想结束,再让TCNT从0开始计数,这样的话我设置的TCx就不用更改了,还能产生等间隔

那么,我在想结束或刚开始的位置写TCNT=0就可以了吗?

是的
个人BLOG:http://blog.eccn.com/u/107300/index.htm
QUOTE:
以下是引用梦在蓝天在2008-5-18 13:44:00的发言:

那比如,我让TC1=25000,TC2=50000,之后,我就想结束,再让TCNT从0开始计数,这样的话我设置的TCx就不用更改了,还能产生等间隔

那么,我在想结束或刚开始的位置写TCNT=0就可以了吗?

那么TC1和TC2只有一个能精确定时啦,如果在TC1中断中将TCNT=0,TC2定时还能准吗?

QUOTE:
以下是引用康桥人在2008-5-18 12:32:00的发言:
TCNT = 0 ,就可以清零,但是不能对TCNT赋值,如TCNT = 0x5
试试
QUOTE:
以下是引用康桥人在2008-5-18 12:32:00的发言:
TCNT = 0 ,就可以清零,但是不能对TCNT赋值,如TCNT = 0x55,

QUOTE:
以下是引用康桥人在2008-5-18 12:32:00的发言:
TCNT = 0 ,就可以清零,但是不能对TCNT赋值,如TCNT = 0x55,

清零以后,是不是TCNT 就总是零了?

刚才试了个程序,清零后TCNT 似乎总是零

如同定时器启动了,那么TCNT是一直在不停变化着的。
海纳百川  有容乃大
QUOTE:
以下是引用fjczd在2009-1-6 14:29:00的发言:
QUOTE:
以下是引用康桥人在2008-5-18 12:32:00的发言:
TCNT = 0 ,就可以清零,但是不能对TCNT赋值,如TCNT = 0x55,

QUOTE:
以下是引用康桥人在2008-5-18 12:32:00的发言:
TCNT = 0 ,就可以清零,但是不能对TCNT赋值,如TCNT = 0x55,

清零以后,是不是TCNT 就总是零了?

刚才试了个程序,清零后TCNT 似乎总是零

ok 了

我认为是清零了!

各位,我试过了,对TCNT=0使TCNT清零是不可以的。程序如下
TFLG1|=0X01;
      TCNT=0;
      if(TCNT==0)
        {
         PORTB=0XAA;
         while(1);
        }
      TC0=0X0FF0;
      PORTB=~PORTB;
我在单步调试的时候执行完TCNT=0;程序时不会进入IF里面的!!所以我认为这种方法对TCNT清零是不可行的!!
1

评分次数

TCNT是可以清零的,但它是不停地计数的,它的值的变化是很快的。你将其清零后再去判断其值是否为零,肯定是来不及的。
海纳百川  有容乃大
只有在特殊单片模式下TCNT才可以清零,普通单片模式下不行。
TCNT是一个持续计数,如果TCNT=0;是可以清零的那就好了,我试一下!
本帖最后由 strongchen 于 2010-4-29 09:31 编辑

用写寄存器的方法对TCNT清零是没有意义的。但可以用模数的方式或TC7复位的方式进行清零。
海纳百川  有容乃大
返回列表