查看: 4994|回复: 4

[S12] 小菜鸟询问关于MC9S12XEP100利用输入捕捉测量脉冲宽度的问题

[复制链接]

该用户从未签到

4

主题

26

帖子

0

新手上路

Rank: 1

积分
51
最后登录
1970-1-1
发表于 2010-11-4 16:59:16 | 显示全部楼层 |阅读模式
想利用MC9S12XEP100的输入捕捉方波功能实现脉冲宽度的计测,但是在做的时候遇到一些问题,想请教一下各位:
问题1:在定时器不会发生溢出的情况下,比如设置ECT_TSCR2 = 0x02,当捕捉到输入上升沿,进入中断之后,进行
    temp = ECT_TC0;  // 本次捕捉到上升沿时的计数值
   Tcounter  = temp - temp1;  //前后两次捕捉的间隔数
   temp1 = temp;     // 最新捕捉到上升沿时的计数值
  为什么每次我计测得的  Tcounter  都不一样呢?我输入的是周期一定的方波。
问题2:如果在定时器会发生溢出的情况下,时候就是设置ECT_TSCR2 = 0x12
然后Tcounter   = 65535*i+ temp - temp1;// i=溢出中断的次数
这样即可?
问题3TCNTTC0里面的数据有什么关联吗?
 
我知道答案 目前已有3人回答
回复

使用道具 举报

该用户从未签到

2

主题

14

帖子

0

新手上路

Rank: 1

积分
15
最后登录
1970-1-1
发表于 2010-11-4 21:03:09 | 显示全部楼层

RE:小菜鸟询问关于MC9S12XEP100利用输入捕捉测量脉冲宽度的问题

我也遇到你同样的问题!

该用户从未签到

27

主题

418

帖子

0

新手上路

Rank: 1

积分
228
最后登录
1970-1-1
发表于 2010-11-4 21:28:12 | 显示全部楼层

RE:小菜鸟询问关于MC9S12XEP100利用输入捕捉测量脉冲宽度的问题

问题一:可能你的方波有误差,
问题二:s12单片机有定时器溢出中断,可以用在你的设计里
问题三:tc0里的数值是在发生中断的时候对tcnt中数值的锁存,tcnt自由运行,不受中断影响。

该用户从未签到

4

主题

26

帖子

0

新手上路

Rank: 1

积分
51
最后登录
1970-1-1
 楼主| 发表于 2010-11-5 09:49:57 | 显示全部楼层

回复:小菜鸟询问关于MC9S12XEP100利用输入捕捉测量脉冲宽度的问题

谢谢LS的解答,我描述下现在理解的您的意思:
问题2:根据就是TCNT溢出后进入中断,累加中断溢出的次数i;当进入输入捕捉中断之后获得当前TC0中的值,然后加上65536*i(65536是一次TCNT溢出的计数值)即可,不知道我理解的对不对?
问题1:我的方波产生很简单,就是在主程序里做了一个10ms的计数,其它的什么都没有了,误差不会很厉害的吧。所以这个再调试看看。
谢谢您
  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2010-11-5 09:56:26 | 显示全部楼层

    RE:小菜鸟询问关于MC9S12XEP100利用输入捕捉测量脉冲宽度的问题

    Tcounter的误差范围是多少?
    在操作的时候,指令也会影响时间差的,但是范围小。
    该会员没有填写今日想说内容.
    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 03:37 , Processed in 0.094084 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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