查看: 2025|回复: 3

[其他] SCT功能里匹配置的设置

[复制链接]
  • TA的每日心情
    奋斗
    2017-11-29 15:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    3

    主题

    19

    帖子

    1

    注册会员

    Rank: 2

    积分
    72
    最后登录
    2023-1-10
    发表于 2018-3-28 20:32:33 | 显示全部楼层 |阅读模式
    本帖最后由 乾蒙坤 于 2018-3-28 22:15 编辑

    在AN11538中第二个例子,
    LPC_SCT->MATCHREL[0].U = (SystemCoreClock/10)-1;



    此处匹配值是减1的,但是第一个例子没有减1。我理解如果匹配之后立刻清0那应该是不用减1啊。例如我匹配值设为10,数系统时钟数到10的时候直接清0,然后从下个系统时钟开始数,数到10发生匹配再清0,这样不刚好是10个系统时钟周期吗?那为如果是设置为10-1,不就只有9个时钟周期吗?



    TIM截图20180328211912.png
    TIM截图20180328211942.png


    我知道答案 目前已有3人回答

    这里有个解释

    这里有个解释
    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-11-29 15:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    3

    主题

    19

    帖子

    1

    注册会员

    Rank: 2

    积分
    72
    最后登录
    2023-1-10
     楼主| 发表于 2018-3-28 20:37:01 | 显示全部楼层
    实际应用是这样的,我们系统主时钟刚好是50MHz,SCT用的系统主时钟,我设置的匹配值是50000000,计数到这个值的时候自动清0并产生中断。这就刚好是1秒。那么我设置的这个值到底该是50000000还是49999999呢?
    哎...今天够累的,签到来了1...
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-11-29 15:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    3

    主题

    19

    帖子

    1

    注册会员

    Rank: 2

    积分
    72
    最后登录
    2023-1-10
     楼主| 发表于 2018-3-28 21:03:10 | 显示全部楼层
    本帖最后由 乾蒙坤 于 2018-3-28 21:27 编辑

    实测是需要减1的,但是没想明白
    哎...今天够累的,签到来了1...
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-11-29 15:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    3

    主题

    19

    帖子

    1

    注册会员

    Rank: 2

    积分
    72
    最后登录
    2023-1-10
     楼主| 发表于 2018-3-28 22:36:42 | 显示全部楼层
    手册里有这么一段
    Set the corresponding event bit in the LIMIT register for the event to set an upper
    limit for the counter.
    When a limit event occurs in unidirectional mode, the counter is cleared to zero
    and begins counting up on the next clock edge.
    When a limit event occurs in bidirectional mode, the counter begins to count down
    from the current value on the next clock edge.


    在 LIMIT 寄存器中设置相应的事件位,以通过该事件来设置计数器的上限值。
    当在单向模式中发生限值事件时,计数器将会清零,并从下一个时钟沿开始向上
    计数。
    当在双向模式中发生限值事件时,计数器将从下一个时钟沿的当前值开始递减计数。

    哎...今天够累的,签到来了1...
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

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

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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