工具/软件:Code Composer Studio
我正在尝试使用 timer2生成时钟。 但是、我在 TM64P2_out12引脚上没有获得任何输出。 我在以下代码中缺少什么?
#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_GPIENO12_SHIFT (0x00000011u)
main (空)
{
PSCModuleControl (SOC_PSC_1_regs、HW_PSC_GPIO、PSC_POWERDOMAIN_AYST_ON、PSC_MDCTL_NEW_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);
}
在研究寄存器的值时、我发现在 GPINTGPEN 中发生了一些奇怪的事情。
必须设置 GPINTGPEN 中的 GPEN012、但实际上没有设置。 它始终坚持逻辑0、我不明白为什么。

