我在设计里将TMS320C6455的复用管脚接了一个LED,如图所示,却点亮不了,请问是怎么回事?是6455不能直接点亮LED吗?
程序如下所示:
Int main()
{
Bool gpioEn;
CSL_Status status;
CSL_GpioContext pContext;
CSL_GpioObj gpioObj;
CSL_GpioHwSetup hwSetup;
CSL_GpioPinConfig config, config1;
CSL_GpioPinNum pinNum, pinNum1;
/* Unlock the control register */
CSL_FINST(((CSL_DevRegs*)CSL_DEV_REGS)->PERLOCK, DEV_PERLOCK_LOCKVAL,
UNLOCK);
/* Enable the GPIO */
CSL_FINST(((CSL_DevRegs*)CSL_DEV_REGS)->PERCFG0, DEV_PERCFG0_GPIOCTL,
ENABLE);
*PerCfg0 = ( *PerCfg0 & ~0x00000400u) | ( ( 0x00000001u << 0x0000000Au ) & 0x00000400u );
do {
gpioEn = (Bool) CSL_FEXT(((CSL_DevRegs*)CSL_DEV_REGS)->PERSTAT0,
DEV_PERSTAT0_GPIOSTAT);
} while (gpioEn != TRUE);
CSL_gpioInit( &pContext );
hGpio = CSL_gpioOpen( &gpioObj, CSL_GPIO, NULL, &status );
hwSetup.extendSetup = NULL;
CSL_gpioHwSetup( hGpio, &hwSetup );
config1.pinNum = CSL_GPIO_PIN13;
config1.trigger = CSL_GPIO_TRIG_RISING_EDGE;
config1.direction = CSL_GPIO_DIR_OUTPUT;
CSL_gpioHwControl( hGpio, CSL_GPIO_CMD_CONFIG_BIT, &config1 );
pinNum1 = CSL_GPIO_PIN13;
status = CSL_gpioHwControl( hGpio, CSL_GPIO_CMD_SET_BIT, &pinNum1 );
Hwi_enableInterrupt(5);
Hwi_enable();
BIOS_start(); /* does not return */
return(0);
}