查看: 4397|回复: 0

[其他] ECT的IC理解,附程序

[复制链接]

该用户从未签到

1

主题

6

帖子

0

新手上路

Rank: 1

积分
23
最后登录
1970-1-1
发表于 2010-1-28 09:16:46 | 显示全部楼层 |阅读模式
我是第一次用飞思卡尔的片子,也是第一次用到ECT模块,以前都用外部中断来判断所以理解这个ECT很郁闷,又是英文的资料;希望大家多多指点我这个新手,谢谢!
MC9S12XDG128,ECT的IC 工作流程个人理解如下,不知道是否正确望指点;
前提:上升沿中断,
一个上升沿触发中断==》ECT将主定时器TCNT内的数值,压入TC0缓冲器;

下面的程序目的是读取两次中断的周期,考虑了主定时器溢出,希望大家给点意见或是有不对的地方望指出谢谢,谢谢!程序能运行,中断也会来,就是还没验证;
       
  • /*********************************************************
            
  • ECT初始化
            
  • **********************************************************/
            
  • void ECT_init(void)
            
  • {
            
  •   TSCR1=0x90;         //主定时器使能,使用中断标志位快速清除
            
  •   TSCR2=0x07;         //分频因子为128
            
  •   ICSYS=0x02;         //IC缓冲使能
            
  •   TIOS=0;             //通道设置为输入捕捉
            
  •   TCTL4=0x01;         //采用上升,下降沿触发
            
  •   TIE=0x01;           //通道0开中断
            
  • }
            
  • /*****************************************************
            
  • ECT_IC0中断子程序
            
  • ******************************************************/
            
  • void interrupt 8 IC0_int(void)
            
  • {
            
  •    TFLG1_C0F=1; //清零IC0中断标志位
            
  •    if(TFLG2_TOF)
            
  •    {
            
  •        TIMER=TCNT;
            
  •        speed_time_1=TC0; //取定时器0数值
            
  •        speed_time=speed_time_1+(0xffff-speed_time_10); //取前后中断时间差,有溢出考虑
            
  •        speed_time_10=speed_time_1; //更新历史中断时间数据
            
  •     }
            
  •     else if(!TFLG2_TOF)
            
  •     {
            
  •        speed_time_1=TC0; //取定时器0数值
            
  •        speed_time=speed_time_1-speed_time_10; //取前后中断时间差,无溢出考虑
            
  •        speed_time_10=speed_time_1; //更新历史中断时间数据
            
  •      }
            
  • }
我知道答案 目前已有0人回答
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 05:26 , Processed in 0.081918 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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