打印
[Kinetis]

关于FTM的疑问

[复制链接]
720|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
whz7783478|  楼主 | 2015-10-21 17:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
FSL_TICS_Jeremy| | 2015-10-21 17:32 | 只看该作者
每个Channel都有自己对应的控制寄存器,通过它来调节

使用特权

评论回复
板凳
大苏牙| | 2015-10-21 20:34 | 只看该作者
每一个Channel都有单独对应的控制寄存器的

使用特权

评论回复
地板
whz7783478|  楼主 | 2015-10-22 09:49 | 只看该作者
本帖最后由 whz7783478 于 2015-10-22 11:29 编辑
FSL_TICS_Jeremy 发表于 2015-10-21 17:32
每个Channel都有自己对应的控制寄存器,通过它来调节

每个channel确实是有对应的控制寄存器,该寄存器只能决定其工作模式是输入捕获、输出比较、PWM、组合PWM等等。假设channel0和channel1配置为输出比较,其他的channel配置为边沿对齐PWM。先初始化PWM,CNTIN=0,MOD=0xff,此时FTM的COUNTER由于其他的channel在使用PWM,已经在进行向上计数。在运行了一段时间的PWM后,CPU发现有输出比较的任务,配置C0V=0x10,C1V=0x50.由于此时FTM COUNTER的值是一直在运行的,可能会出现CPU配置C0V/C1V落在FTM COUNTER不同的区间,也就会可能导致channel0和channel1在输出反转脉冲的次数会差1.有没有什么方法能保证输出比较同时在一个FTM COUNTER从0起始的周期进行比较?

使用特权

评论回复
5
FSL_TICS_Jeremy| | 2015-10-22 10:26 | 只看该作者
建议方法,1. 从头配置使能 2. 利用PWM synchronization功能,从新初始化FTM_CNTIN寄存器

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

30

帖子

1

粉丝