ddxx 发表于 2021-11-11 09:10

HC32L170 TIM4CHB输入捕获配置请教

项目采用HC32L170JATA 48Pin芯片,使用PF01对输入信号进行捕获,测量脉冲宽度。配置如下        stc_adt_basecnt_cfg_t AdtBaseCfg;
        stc_adt_CHxX_port_cfg_t        AdtChCfg;
       
        DDL_ZERO_STRUCT(AdtBaseCfg);
        DDL_ZERO_STRUCT(AdtChCfg);
       
        Sysctrl_SetPeripheralGate(SysctrlPeripheralAdvTim, TRUE);
       
        AdtBaseCfg.enCntMode = AdtSawtoothMode;
        AdtBaseCfg.enCntDir = AdtCntUp;
        AdtBaseCfg.enCntClkDiv = AdtClkPClk0Div1;
       
        Adt_Init(M0P_ADTIM4, &AdtBaseCfg);
        Adt_SetPeriod(M0P_ADTIM4, 0xFFFFu);
       
        AdtChCfg.enCap = AdtCHxCompareInput;
        AdtChCfg.bFltEn = TRUE;
        AdtChCfg.enFltClk = AdtFltClkPclk0Div4;
        Adt_CHxXPortCfg(M0P_ADTIM4, AdtCHxB, &AdtChCfg);
       
        Adt_CfgHwCaptureB(M0P_ADTIM4, AdtHwTrigCHxBRise);
       
        Adt_CfgHwClear(M0P_ADTIM4, AdtHwTrigCHxBRise);
        Adt_CfgHwClear(M0P_ADTIM4, AdtHwTrigCHxBFall);       
        Adt_EnableHwClear(M0P_ADTIM4);
       
        Adt_ClearAllIrqFlag(M0P_ADTIM4);
        Adt_CfgIrq(M0P_ADTIM4, AdtCMBIrq, TRUE);
        EnableNvic(ADTIM4_IRQn, IrqLevel1, TRUE);
实际上输入无法触发捕获事件。
相同的配置在HC32L130J8TA PD01上是可以实现捕获的。
不知道哪个地方出了问题。请各位大侠帮忙看看。

yangxiaor520 发表于 2021-11-11 21:13

两个型号肯定有区别三

ddxx 发表于 2021-11-12 07:24

原厂fae告知掉坑了,pf01不能支持捕获输入。大家要避免。
页: [1]
查看完整版本: HC32L170 TIM4CHB输入捕获配置请教