智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3138|回复: 2
打印 上一主题 下一主题

关于ECT溢出触发的一段小程序

[复制链接]

21

主题

1019

帖子

0

精华

常驻嘉宾

我爱雯婕

Rank: 8Rank: 8

积分
4657
威望
2223
贡献
1682
兑换币
4
注册时间
2009-3-4
在线时间
376 小时
跳转到指定楼层
1#
发表于 2009-5-3 21:59:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我设置比较输出的是低电平,所以每次比较输出PTT_PTT0=0,但是由于设置了TTOV=OX01,每次TCNT从OXFFFF跳变成0的时候PTT_PTT0翻转电平,我看DataSheet上面只说设置TTOV会有溢出触发输出比较,但没有提到电平翻转啊?到底是什么原因?有高手可以解决一下么?

#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

void DoubleOutputInit(){
  TIOS=0X01;      //Channel 0 output compare
  TSCR1=0X90;     //Timer enable
  TTOV=0X01;      //Timer Toggle On Overflow Enable;
  TCTL2=0X02;     //OutPut zero
  TSCR2=0X07;     //Prescaler Factor=128
  TC0=0X7fFF;     //设置TC0=65536/2
}
void main(void)
{
    /* put your own code here */
    DDRB=0XFF;
    PORTB=0XFF;
    DoubleOutputInit();
    EnableInterrupts;
    for(;;)
  
    {
      while(PTT_PTT0==0)
      PORTB=0X00;
      while(PTT_PTT0==1)
      PORTB=0XFF;
      _FEED_COP(); /* feeds the dog */
    } /* loop forever */
  /* please make sure that you never leave main */
}

7

主题

81

帖子

0

精华

高级会员

Rank: 4

积分
949
QQ
威望
351
贡献
542
兑换币
12
注册时间
2010-10-13
在线时间
28 小时
2#
发表于 2011-1-6 14:31:28 | 只看该作者
我也正在做TIM模块的实验。看过很多资料,其实TTOV的作用是在相应位置位时,对应的引脚会在TCNT溢出时电平翻转。也就是说你设置计数器溢出绑定的引脚,如果开始时0,输出比较匹配时,置位1(假设OMx和OLx设定的动作为置1方式),而当定时器溢出时,又会变为0。TTOV的介绍中还提到,绑定的引脚必须设置为OC方式。。。
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
QQ
威望
236
贡献
38
兑换币
0
注册时间
2010-12-12
在线时间
10 小时
3#
发表于 2011-3-31 20:19:19 | 只看该作者
请问你的这个程序是完整的吗。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-27 19:35 , Processed in 0.051136 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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