器件型号: TDA4VE-Q1
大家好!
我面临中断问题。 我在启动 PWM 后未收到中断回调。 我正在使用下面的 IRQ 和基地址。请确认以下对于 MCU2_0 的详细信息是正确的
#define EPWM_BASE_ADDR (CSL_EPWM1_EPWM_BASE)
#define EPWM_IRQ_NUM (CSLR_R5FSS0_CORE0_INTR_EPWM1_EPWM_ETINT_0)//R5F 2_0

请查找以下修改内容。
GPIO 配置:
const uint32_t CSL_GPIO0_PIN_62 = 62;
const uint32_t p24_padconfig_addr = 0x0011C0F8;
易失性 uint32_t * GPIO_P24 =(uint32_t *)(p24_padconfig_addr);
* GPIO_P24 = 0X10004;
GPIOSetDirMode_V0 (CSL_GPIO0_BASE、CSL_GPIO0_PIN_62、GPIO_DIRECTION_OUTPUT); //TDAS_EPWM1_B_DES_SVC_960_GPIO_0_FSYNC
GPIOPinWrite_V0 (CSL_GPIO0_BASE、CSL_GPIO0_PIN_62、GPIO_PIN_HIGH);
Board_status boardEnST = Board_moduleClockEnable (TISCI_EPWM2);
int32_t STATUS = Sciclient_pmSetModuleState ( TISCI_EPWM2、
TISCI_MSG_VALUE_DEVICE_SW_STATE_ON、
TISCI_MSG_FLAG_AOP |TISCI_MSG_FLAG_DEVICE_RESET_ISO、
SCICLIENT_SERVICE_WAIT_FOREVER);
------------------------------------------------------------------------------------------------
PWM 配置 1
- 解锁所有 MMR 寄存器。
- 将所有寄存器初始化为默认值
- CSL_epwmTbTimebaseClkCfg (EPWM_BASE_ADDR、 TBCLK、 SOC_EPWM_MODULE_FREQ);
- CSL_epwmTbPwmFreqCfg (EPWM_BASE_ADDR、EPWM_TB_CLK_Hz_U32、 periodCounts、
CSL_EPWM_TB_COUNTER_DIR_STOP、CSL_EPWM_SHADING_REG_CTRL_ENABLE); - CSL_epwmTbSetEmulationMode (EPWM_BASE_ADDR、EPWM_TB_EMU_MODE_FREE_RUN);
- CSL_epwmCounterComparatorCfg (EPWM_BASE_ADDR 、CSL_EPWM_CC_CMP_B、 pulseCounts 、CSL_EPWM_SHADE_REG_CTRL_ENABLE、CSL_EPWM_CC_CMP_LOAD_MODE_CNT_EQ_ZERO) 正确);
- CSL_epwmAqActionOnOutputCfg (EPWM_BASE_ADDR、 CSL_EPWM_OUTPUT_CH_B、&AqActCfg);
启用中断:
8. CSL_epwmEtIntrClear (EPWM_BASE_ADDR);
9. CSL_epwmEtIntrCfg (EPWM_BASE_ADDR、 CSL_EPWM_ET_ET_INTR_EVT_CNT_EQ_ZRO、 CSL_EPWM_ET_ET_INTR_PERIOD_FIRST_EVT);
10. CSL_epwmEtIntrEnable (EPWM_BASE_ADDR);
11、HwiP_clearInterrupt (EPWM_IRQ_NUM);
12、 HwiP_Params_init (&hwiParams);
13、 hwiParams.priority = 1;
hwiParams.enableIntr = true;
handle = HwiP_create (EPWM_IRQ_NUM、fsyncPwmIRQ、&hwiParams);
14、 HwiP_enableInterrupt (EPWM_IRQ_NUM);
启动 FSYNC
CSL_epwmTbPwmFreqCfg (EPWM_BASE_ADDR、 EPWM_TB_CLK_Hz_U32、 m_CurfsyncPeriod_ticks)
CSL_EPWM_TB_COUNTER_DIR_UP 、CSL_EPWM_SHADOK_REG_CTRL_ENABLE);
以上是我使用的配置。 请让我知道我遗漏的任何其他信息。
此致、
Veerahema