查看: 3592|回复: 4

[其他] FTM问题

[复制链接]
  • TA的每日心情
    无聊
    2021-5-27 14:51
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    21

    主题

    75

    帖子

    1

    中级会员

    Rank: 3Rank: 3

    积分
    298
    最后登录
    2025-7-3
    发表于 2016-7-21 09:17:31 | 显示全部楼层 |阅读模式
    FTM1_Init初始化时失败,调用FTM1_Init(),断点跟进后进入 FTM_PWMInit(),在FTM_PWMInit里
        else if(FTM_PWMMODE_COMBINE == u8PWMModeSelect)     /* enable combine pwm mode */
        {
                   pFTM->COMBINE = FTM_COMBINE_COMBINE0_MASK | FTM_COMBINE_COMP0_MASK | FTM_COMBINE_SYNCEN0_MASK | FTM_COMBINE_DTEN0_MASK |
                            FTM_COMBINE_COMBINE1_MASK | FTM_COMBINE_COMP1_MASK | FTM_COMBINE_SYNCEN1_MASK | FTM_COMBINE_DTEN1_MASK |
                            FTM_COMBINE_COMBINE2_MASK | FTM_COMBINE_COMP2_MASK | FTM_COMBINE_SYNCEN2_MASK | FTM_COMBINE_DTEN2_MASK;//程序执行到这里即无缘无故停止不执行了
            。。。。。。。。。。。。。。。。
        }
    以下为FTM1_Init函数,开发工具IAR,芯片MKE06Z128xxx4
    void FTM1_Init (void)
    {
    uint8_t u8Ch;
    uint8_t   channels, i;

        /* set FTM1 as combine mode */
        FTM_PWMInit(FTM1, FTM_PWMMODE_COMBINE, FTM_PWM_LOWTRUEPULSE);
    //SIM->PINSEL0 |= 0x55;
    SIM_RemapFTM1CH1ToPTE7();
    SIM_RemapFTM1CH0ToPTH2();
    /* set MOD value */
        FTM_SetModValue(FTM1, 9999);
        /* set clock source and start the counter */
        FTM_ClockSet(FTM1, FTM_CLOCK_SYSTEMCLOCK, FTM_CLOCK_PS_DIV1);
       
        FTM_SetCallback(FTM1, FTM1_Task);
        NVIC_EnableIRQ(FTM1_IRQn);
        FTM_EnableOverflowInt(FTM1);
        /* set the duty cycle, note: only fit for combine mode */
        FTM_SetDutyCycleCombine(FTM1, FTM_CHANNEL_CHANNEL1, 50);
    }

    最佳答案

    烟雨梦 发表于 2016-7-21 10:03 不好意思搞错了,程序是执行到  ASSERT(FTM2 == pFTM)后不执行了,然后跳到assert_failed(),进入死循 ... 楼主,KE06的三个FTM模块中,只有FTM2是full fucntion, FTM0和 ...
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24894
    最后登录
    2025-7-21
    发表于 2016-7-21 09:45:35 | 显示全部楼层
    楼主,我看你的代码是参考官方代码的,请问代码中止执行了,MCU有进入Hard fault吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2021-5-27 14:51
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    21

    主题

    75

    帖子

    1

    中级会员

    Rank: 3Rank: 3

    积分
    298
    最后登录
    2025-7-3
     楼主| 发表于 2016-7-21 10:03:41 | 显示全部楼层
    小恩GG 发表于 2016-7-21 09:45
    楼主,我看你的代码是参考官方代码的,请问代码中止执行了,MCU有进入Hard fault吗?
    ...

    不好意思搞错了,程序是执行到  ASSERT(FTM2 == pFTM)后不执行了,然后跳到assert_failed(),进入死循环了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24894
    最后登录
    2025-7-21
    发表于 2016-7-21 10:15:56 | 显示全部楼层
    烟雨梦 发表于 2016-7-21 10:03
    不好意思搞错了,程序是执行到  ASSERT(FTM2 == pFTM)后不执行了,然后跳到assert_failed(),进入死循 ...

    楼主,KE06的三个FTM模块中,只有FTM2是full fucntion, FTM0和FTM1只是basic fucntion, 即没有FTM_COMBINE之类的寄存器的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2021-5-27 14:51
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    21

    主题

    75

    帖子

    1

    中级会员

    Rank: 3Rank: 3

    积分
    298
    最后登录
    2025-7-3
     楼主| 发表于 2016-7-21 10:19:09 | 显示全部楼层
    小恩GG 发表于 2016-7-21 10:15
    楼主,KE06的三个FTM模块中,只有FTM2是full fucntion, FTM0和FTM1只是basic fucntion, 即没有FTM_COMBIN ...

    是的,刚看了手册第三章的FTM配置,谢谢!
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-22 06:09 , Processed in 0.093535 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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