KE02 FTM0输入捕获(已解决)

2020-02-11 09:01发布

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

不知freescale的大牛们今天还上班吗?
问一个问题:我使用FTM0捕获脉宽,在只使用channel0的情况下能不能实现脉宽捕获?如果可以,如何识别是falling还是Rising?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
40条回答
FSL_TICS_ZJJ
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. }
复制代码
这样也可以实现。

一周热门 更多>