Part Number: TMS320F28P650DK



void main(void)
{
Device_init();
Device_initGPIO();
Interrupt_initModule();
Interrupt_initVectorTable();
Interrupt_register(INT_CLB1, &clb1ISR);
Interrupt_enable(INT_CLB1);
SysCtl_enablePeripheral(SYSCTL_PERIPH_CLK_CLB5);
Board_init();
SysCtl_disablePeripheral(SYSCTL_PERIPH_CLK_TBCLKSYNC); //<> Disable sync(Freeze clock to PWM as well)
PWM_Init();
GPIO_setPinConfig(myCLB_OUTPUTXBAR_EPWM7B_CLBOUTPUTXBAR_PIN_CONFIG);
SysCtl_enablePeripheral(SYSCTL_PERIPH_CLK_TBCLKSYNC); //<> Enable sync and clock to PWM
initTILE5(CLB5_BASE);
CLB_enableCLB(CLB5_BASE);
CLB_setOutputMask(CLB5_BASE, CLB_OUTPUT_00 | CLB_OUTPUT_02 | CLB_OUTPUT_12 | CLB_OUTPUT_13, true); //<> OUTLUT 使能
CLB_enableOutputMaskUpdates(CLB5_BASE);
//
// Enable Global Interrupt (INTM) and realtime interrupt (DBGM)
//
EINT;
ERTM;
// CLB_clearInterruptTag(myTILE1_BASE);
EPWM_setActionQualifierContSWForceAction(IGBT_7_EPWM_BASE, EPWM_AQ_OUTPUT_B, EPWM_AQ_SW_DISABLED); //<>
EPWM_setActionQualifierContSWForceAction(IGBT_7_EPWM_BASE, EPWM_AQ_OUTPUT_A, EPWM_AQ_SW_DISABLED); //<>
EPWM_setCounterCompareValue(EPWM7_BASE, EPWM_COUNTER_COMPARE_A, 750); //<> 测试使用
EPWM_setCounterCompareValue(EPWM7_BASE, EPWM_COUNTER_COMPARE_B, 750); //<> 测试使用
while(1)
{
asm(" NOP");
}
}
配置 GPIO13 通过xbar路由到CLB5的OUTLUT5输出口,输出EPWM7B的原始信号,实际测试时信号总是不正常,这是为什么?