KE02 FTM0输入捕获(已解决)

2020-02-11 09:01发布

本帖最后由 FSL_TICS_ZJJ 于 2014-2-13 10:44 编辑

不知freescale的大牛们今天还上班吗?
问一个问题:我使用FTM0捕获脉宽,在只使用channel0的情况下能不能实现脉宽捕获?如果可以,如何识别是falling还是Rising?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
39条回答
ln08136207
1楼-- · 2020-02-13 06:54
 精彩回答 2  元偷偷看……
FSL_TICS_ZJJ
2楼-- · 2020-02-13 11:05
ln08136207 发表于 2014-1-28 14:09
下午还没上班?


楼主,不好意思,我在呢。
刚看了第三章,确实FTM0不支持双通道捕获这个功能,我想想其他方法,马上给你回复。
FSL_TICS_ZJJ
3楼-- · 2020-02-13 13:46
FSL_TICS_ZJJ 发表于 2014-1-28 14:13
楼主,不好意思,我在呢。
刚看了第三章,确实FTM0不支持双通道捕获这个功能,我想想其他方法,马上给你 ...


楼主,KE02的FTM0和1其实就是和KL25的TPM模块一样了,还有种方法,就是借鉴KL25的方法,采用两个通道,一个上升沿采集,一个下降沿采集,如下图:

54.jpg (79.35 KB, 下载次数: 0)

下载附件

2014-1-28 14:24 上传




然后把两个值相减。

  1. /***************************************************************************//*!
  2. * @brief   TPM1 overflow interrupt service routine.
  3. ******************************************************************************/
  4. void tpm1_isr(void)
  5. {
  6.   TPM1_SC |= TPM_SC_TOF_MASK;
  7.   i16PulseWidth =  (int16)TPM1_C1V;
  8.   i16PulseWidth -= (int16)TPM1_C0V;
  9.   TPM1_C0SC |= TPM_CnSC_CHF_MASK;
  10.   TPM1_C1SC |= TPM_CnSC_CHF_MASK;
  11. }
复制代码
这样也可以实现。
ln08136207
4楼-- · 2020-02-13 16:43
FSL_TICS_ZJJ 发表于 2014-1-28 14:26
楼主,KE02的FTM0和1其实就是和KL25的TPM模块一样了,还有种方法,就是借鉴KL25的方法,采用两个通道,一 ...

我就知道还得用这种方法,不过还好,顺便把周期也测了
FSL_TICS_ZJJ
5楼-- · 2020-02-13 22:37
ln08136207 发表于 2014-1-28 14:28
我就知道还得用这种方法,不过还好,顺便把周期也测了

是的,暂时先用这种方法吧。
FSL_TICS_ZJJ
6楼-- · 2020-02-13 23:53
 精彩回答 2  元偷偷看……

一周热门 更多>