问答

汇集网友智慧,解决技术难题

21ic问答首页 - KF32A156参考例程将PE0配置PWM捕获,引脚有方波但不进中断

参考例程 引脚 方波 KF32A156 MUC 嵌入式

KF32A156参考例程将PE0配置PWM捕获,引脚有方波但不进中断

cj02202024-04-26

#define PE0_CCP19_CH4_PIN        GPIOE_SFR, GPIO_PIN_MASK_0
#define PE0_CCP19_CH4_AF9        GPIOE_SFR, GPIO_Pin_Num_0, GPIO_RMP_AF9

{
        GPIO_Write_Mode_Bits(PE0_CCP19_CH4_PIN, GPIO_MODE_RMP);
           GPIO_Pin_RMP_Config(PE0_CCP19_CH4_AF9);

        Ccp_IntConfig_t ccpIntConfig;
        ccpIntConfig.ccpInterrupt = CCP_INT_CAPTURE_CH4;
        ccpIntConfig.intIndex = INT_T19;
        ccpIntConfig.newState = TRUE;
        ccpIntConfig.preemption = 4;
        ccpIntConfig.subPriority = 0;
        CCP_Capture_Mode_Init(CCP19_SFR, CCP_CHANNEL_4, CCP_CAP_RISING_EDGE);
        CCP_INT_Config(CCP19_SFR, &ccpIntConfig);

    INT_All_Enable(TRUE);
}


void __attribute__((interrupt))_T19_exception (void)
{
        if (0U != CCP_Get_Channel_Trigger_INT_Flag(CCP19_SFR, CCP_CHANNEL_4))
        {
                /* Clear interrupt flag  */
                CCP_Clear_Channel_INT_Flag(CCP19_SFR, CCP_CHANNEL_4);
        }
}

回答 +关注 10
4974人浏览 1人回答问题 分享 举报
1 个回答
  • 通道4不支持外部触发,参见Tx_CTL2 Tx控制寄存器2的TXSS从模式选择位TXTS出发输入选择位说明,如果非要用PE0,选CCP3CH1,再打开T3中断:
    CCPx_Capture_Mode_init(CCP3_SFR);
    GPTIM_Trigger_INT_Enable(T3_SFR, TRUE);
    INT_Interrupt_Enable(INT_T3, TRUE);
    INT_All_Enable(TRUE);

    void __attribute__((interrupt))_T3_exception (void)
    {
        if (0U != GPTIM_Get_Trigger_INT_Flag(T3_SFR))
        {
            /* Clear interrupt flag  */
                    GPTIM_Clear_Trigger_INT_Flag(T3_SFR);
        }
    }

您需要登录后才可以回复 登录 | 注册