查看: 3041|回复: 3

[分享] 使用K64 配置input capture ,没有输入波形不断进入中断

[复制链接]

该用户从未签到

29

主题

439

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
720
最后登录
2015-12-29
发表于 2015-9-8 16:50:19 | 显示全部楼层 |阅读模式
使用K64 配置input capture ,没有输入波形不断进入中断。是什么原因啊。
下函数加入了参数的实际赋值
FTM_DRV_SetupChnInputCapture(BOARD_FTM_INSTANCE1= 1,ftm_ic_mode=1,BOARD_FTM_CHANNEL0=0,0);



void FTM_DRV_SetupChnInputCapture(uint32_t instance, ftm_input_capture_edge_mode_t captureMode,
                                            uint8_t channel, uint8_t filterVal)
{
    assert(instance < HW_FTM_INSTANCE_COUNT);
    assert(channel < FSL_FEATURE_FTM_CHANNEL_COUNTn(instance));

                uint32_t ftmBaseAddr = g_ftmBaseAddr[instance];
    uint32_t chnlPairnum = FTM_HAL_GetChnPairIndex(channel);

    FTM_HAL_SetClockSource(ftmBaseAddr, kClock_source_FTM_None);

    FTM_HAL_SetCounterInitVal(ftmBaseAddr,0);
    FTM_HAL_SetMod(ftmBaseAddr, 0xFFFF);
    FTM_HAL_SetCpwms(ftmBaseAddr, 0);
    FTM_HAL_SetDualChnCombineCmd(ftmBaseAddr, chnlPairnum, false);
    FTM_HAL_SetDualEdgeCaptureCmd(ftmBaseAddr, chnlPairnum, false);
    FTM_HAL_SetChnEdgeLevel(ftmBaseAddr, channel, captureMode);

    if (channel < CHAN4_IDX)
    {
        FTM_HAL_SetChnInputCaptureFilter(ftmBaseAddr, channel, filterVal);
    }

    FTM_HAL_SetChnMSnBAMode(ftmBaseAddr, channel, 0);
                FTM_DRV_SetTimeOverflowIntCmd(instance, true);
    /* Set clock source to start the counter */
    FTM_HAL_SetClockSource(ftmBaseAddr, kClock_source_FTM_SystemClk);
}



中断函数加1

void FTM1_IRQHandler(void)
{
                int_number++;
    FTM_DRV_IRQHandler(1U);
}


打印值
int_number =496690
int_number =496863
int_number =497035
int_number =497208
int_number =497381
int_number =497554
int_number =497727
int_number =497900
int_number =498073
int_number =498246
int_number =498419
int_number =498592
int_number =498765
int_number =498938
int_number =499111
int_number =499284
int_number =499457
int_number =499630
int_number =499803
int_number =499976
int_number =500149
int_number =500322
int_number =500495

回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2015-9-9 09:33:53 | 显示全部楼层
建议你可以设置断点,查看一下引起中断的标志位是哪一个?
回复 支持 反对

使用道具 举报

该用户从未签到

61

主题

965

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2394
最后登录
1970-1-1
发表于 2015-9-9 12:58:40 | 显示全部楼层
配置好输入脚,估计有毛刺什么都会引起中断的。
回复 支持 反对

使用道具 举报

该用户从未签到

29

主题

439

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
720
最后登录
2015-12-29
 楼主| 发表于 2015-9-9 16:29:00 | 显示全部楼层
哪这么脆弱,有filter的,不开启时filter为3个个时钟
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-28 16:49 , Processed in 0.084248 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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