查看: 7152|回复: 7

[求助] KE06Z128芯片FTM0CH0设置PWM模式

[复制链接]

该用户从未签到

14

主题

26

帖子

0

注册会员

Rank: 2

积分
184
最后登录
2017-12-17
发表于 2016-9-12 20:32:28 | 显示全部楼层 |阅读模式
根据官网的DEMO程序,将原来的FTM2CH5(PTB5)改成FTM0CH0(PTB2)之后老是出不了PWM波形,改成FTM0CH1测相应管脚也出不来波形,配置代码如下
    //SIM_RemapFTM0CH0ToPTB3();
    //Select FTM2Ch5 on PTG7
    //SIM_RemapFTM2CH5ToPTG7();
    //SIM_RemapFTM0CH0ToPTA1();
    /* FTM2 is set as edge aligned pwm mode, high true pulse */
    FTM_PWMInit(FTM0, FTM_PWMMODE_EDGEALLIGNED, FTM_PWM_HIGHTRUEPULSE);
    /* FTMEN enable */
    //FTM_SetFTMEnhanced(FTM0);
    /* update MOD value */
    FTM_SetModValue(FTM0, 9999);
    /* set clock source, start counter */
    FTM_ClockSet(FTM0, FTM_CLOCK_SYSTEMCLOCK, FTM_CLOCK_PS_DIV1);  
    /* enable FTM2 interrupt in NVIC */
    NVIC_EnableIRQ(FTM0_IRQn);
    /* setup call back function for interrupt */
    FTM_SetCallback(FTM0, FTM0_Task);
    /* enable FTM2 overflow interrupt */
    FTM_EnableOverflowInt(FTM0);
   u16ChV_new=5000;
   FTM_SetChannelValue(FTM0, FTM_CHANNEL_CHANNEL0, u16ChV_new);
另外中断中也清了标志位和重新赋值。其中FTM_SetFTMEnhanced(FTM0);这个函数调用,程序就会卡在这儿。看到论坛另外一个帖子说这个函数只能FTM2调用,其他都会卡死,希望谁能解答一下
我知道答案 目前已有7人回答
回复

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25444
最后登录
2025-9-4
发表于 2016-9-13 09:37:40 | 显示全部楼层
1. FTM0_CH0的引脚可以分布在PTA0,PTB2两个引脚。 2016-09-13_9-35-28.jpg

2. 只有FTM2是加强型的FTM,这这可以在参考手册的3.9.1.1 FTM overview了解详情。



回复 支持 反对

使用道具 举报

该用户从未签到

14

主题

26

帖子

0

注册会员

Rank: 2

积分
184
最后登录
2017-12-17
 楼主| 发表于 2016-9-13 09:52:49 | 显示全部楼层
小恩GG 发表于 2016-9-13 09:37
1. FTM0_CH0的引脚可以分布在PTA0,PTB2两个引脚。

2. 只有FTM2是加强型的FTM,这这可以在参考手册的3.9.1 ...

1.设置FTM0时 ,FTM_SetFTMEnhanced()这个设置增强型的函数就不需要 调用了对吧
2.SIM_RemapFTM0CH0ToPTB3();为什么函数名是PTB3,世纪是PTB2,
3.设置出不了波形,
回复 支持 反对

使用道具 举报

该用户从未签到

14

主题

26

帖子

0

注册会员

Rank: 2

积分
184
最后登录
2017-12-17
 楼主| 发表于 2016-9-13 15:11:08 | 显示全部楼层
小恩GG 发表于 2016-9-13 09:37
1. FTM0_CH0的引脚可以分布在PTA0,PTB2两个引脚。

2. 只有FTM2是加强型的FTM,这这可以在参考手册的3.9.1 ...

好几个原来FTM2调用的函数只有FTM2的寄存器配置,FTM0和FTM1没有配置,程序卡住了、
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25444
最后登录
2025-9-4
发表于 2016-9-13 15:42:31 | 显示全部楼层
时间的流逝 发表于 2016-9-13 15:11
好几个原来FTM2调用的函数只有FTM2的寄存器配置,FTM0和FTM1没有配置,程序卡住了、
...

是的,因为正如前面讲到的,由于FTM0/FTM1只支持基本功能,所以它们是没有FTM2的一些寄存器的
回复 支持 反对

使用道具 举报

该用户从未签到

14

主题

26

帖子

0

注册会员

Rank: 2

积分
184
最后登录
2017-12-17
 楼主| 发表于 2016-9-13 17:44:15 | 显示全部楼层
有没有FTM0的demo或者配置示例,?
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25444
最后登录
2025-9-4
发表于 2016-9-14 09:57:34 | 显示全部楼层
时间的流逝 发表于 2016-9-13 17:44
有没有FTM0的demo或者配置示例,?

实例就是KE的driver,写的已经挺全了,另外你也可以使用CW或者KDS的PE让IDE自动生成代码。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2019-10-18 10:33
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    1

    主题

    6

    帖子

    0

    注册会员

    Rank: 2

    积分
    82
    最后登录
    2022-2-10
    发表于 2018-7-18 16:44:06 | 显示全部楼层
    借楼问问,我试了ftm2的pwm、timer和捕获功能都可以。但ftm0和ftm1的timer和pwm都不能用。我不知道是不是我哪里写的不对。用的例程。有大神说说吗
    今天天气不错!签到!
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-9-6 09:23 , Processed in 0.099261 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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