Part Number: TMS320C6748
Tool/software: Code Composer Studio
I am trying to generate a clock using timer2. However, I am not getting any output at the TM64P2_out12 pin. What am I missing in the below code?
#define TMR_PERIOD_LSB32 (0x000000FF)
#define TMR_PERIOD_MSB32 (0x0)
#define TMR_GPDATGPDIR_GPDIRO12 (0x00020000u)
#define TMR_GPDATGPDIR_GPDIRO12_SHIFT (0x00000011u)
#define TMR_GPINTGPEN_GPENO12 (0x00020000u)
#define TMR_GPINTGPEN_GPENO12_SHIFT (0x00000011u)
main(void)
{
PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) = 0x00008844;
TimerClockModeSet(SOC_TMR_2_REGS, TMR_TIMER_BOTH);
TimerPeriodSet(SOC_TMR_2_REGS, TMR_TIMER12, TMR_PERIOD_LSB32);
TimerPeriodSet(SOC_TMR_2_REGS, TMR_TIMER34, TMR_PERIOD_MSB32);
HWREG(SOC_TMR_2_REGS + TMR_GPDATGPDIR) = TMR_GPDATGPDIR_GPDIRO12;
HWREG(SOC_TMR_2_REGS + TMR_GPINTGPEN) = TMR_GPINTGPEN_GPENO12;
TimerEnable(SOC_TMR_2_REGS, TMR_TIMER_BOTH, TMR_ENABLE_CONT);
while(1);
}
Looking into regsters' value, I found there is strange thing happening in GPINTGPEN.
GPEN012 in GPINTGPEN has to be set, but actually not. It is always stick to logic 0 and I am not getting why.

