Hi TI,
RTOS sdk : 9.1
I am using MCU domain MCAN channels MCU_MCAN0 and MCU_MCAN1. I am referring to file mcan_evm_loopback_app_main_k3.c for configuration.
void padConfig_prcmEnable() { Board_STATUS boardStatus; I2C_Params i2cParams; I2C_Handle handle = NULL; uint8_t dataToSlave[4]; uint32_t regVal = 0U; /* GPIO initialization */ GPIO_init(); consolePrintf("GPIO_init Done \n"); int pin_val = GPIOPinRead_v0(CSL_WKUP_GPIO0_BASE, MCU_MCAN1_STB_PIN); consolePrintf("MCU_MCAN1_STB_PIN : %d\n", pin_val); /* VEH ECU MCAN Module clock Enable*/ Board_moduleClockEnable(TISCI_DEV_VEH_ECU_MCAN); /* DCM MCAN Module clock Enable*/ Board_moduleClockEnable(TISCI_DEV_DCM_MCAN); /* Enable CAN transceivers by setting the STB pins */ /* Set MCU_MCAN1_STB to LEVEL_LOW to exit CAN1 from Standby mode */ GPIOSetDirMode_v0(CSL_WKUP_GPIO0_BASE, MCU_MCAN1_STB_PIN, GPIO_DIRECTION_OUTPUT); GPIOPinWrite_v0(CSL_WKUP_GPIO0_BASE, MCU_MCAN1_STB_PIN, GPIO_PIN_LOW); GPIOSetDirMode_v0(CSL_WKUP_GPIO0_BASE, MCU_MCAN0_STB_PIN, GPIO_DIRECTION_OUTPUT); GPIOPinWrite_v0(CSL_WKUP_GPIO0_BASE, MCU_MCAN0_STB_PIN, GPIO_PIN_LOW); /* Enable Main MCAN 2, GPIO0_127. */ GPIO_write(1, GPIO_PIN_LOW); appLogPrintf("GPIO_write Done \n"); #if 1 /*readback*/ /*Reading back standby pin for MCU MCAN0 and MCU MCAN1 */ pin_val = GPIOPinRead_v0(CSL_WKUP_GPIO0_BASE, MCU_MCAN1_STB_PIN); consolePrintf("MCU_MCAN1_STB_PIN : %d\n", pin_val); #endif }
The pin value is read same(= 1) before and after calling GPIOPinWrite_v0(). The configuration code is running on mcu1_0 core in a task.
What am I missing here? Why it is not able to write 0 to the pin? The configuration code looks similar to as given in the example file. Pls suggest.
Thanks