This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28375D: OpenDrain settings for GPIO output

Part Number: TMS320F28375D

When using the inverter with a full bridge,
I would like to continue to output PWM GPIO at HIGH from the
start to avoid arm short circuit.

I am trying to set the GPIO used for PWM with "output / open drain".
A pull-up resistor is sandwiched between the lines.

When initialized with the following description,
the external pull-up resistor is ignored and the output becomes LOW.
This LOW continues until the PWM setting is completed.

Please let me know if there are any mistakes in always issuing HIGH.

--------------------------------------------------
  GPIO_SetupPinMux (8, GPIO_MUX_CPU1,1);
  GPIO_SetupPinOptions (8, GPIO_OUTPUT, (GPIO_OPENDRAIN | GPIO_PULLUP));
  GPIO_SetupPinMux (9, GPIO_MUX_CPU1,1);
  GPIO_SetupPinOptions (9, GPIO_OUTPUT, (GPIO_OPENDRAIN | GPIO_PULLUP));
  GPIO_SetupPinMux (10, GPIO_MUX_CPU1,1);
  GPIO_SetupPinOptions (10, GPIO_OUTPUT, (GPIO_OPENDRAIN | GPIO_PULLUP));
  GPIO_SetupPinMux (11, GPIO_MUX_CPU1,1);
  GPIO_SetupPinOptions (11, GPIO_OUTPUT, (GPIO_OPENDRAIN | GPIO_PULLUP));
--------------------------------------------------

It is set in main as follows.
Immediately after this, the PWM is set,

---------------------------------------------------------------------------------------------------------

main()
{
    InitSysCtrl();
#ifdef _STANDALONE
#ifdef _FLASH
    // Send boot command to allow the CPU2 application to begin execution
    IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
#else //_FLASH
    // Send boot command to allow the CPU2 application to begin execution
    IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_RAM);
#endif //_FLASH
#endif //_STANDALONE

    // Initialize GPIO.
    InitGpio();

    // Peripheral Pin & GPIO Pin Setting.
    EALLOW;
    CpuSysRegs.PCLKCR2.bit.EPWM5 = 1;
    CpuSysRegs.PCLKCR2.bit.EPWM6 = 1;

    GPIO_SetupPinMux(8,GPIO_MUX_CPU1,1);        // EPWM5A (O) : Servo\DC Motor EPWM5
    GPIO_SetupPinOptions(8, GPIO_OUTPUT,(GPIO_OPENDRAIN|GPIO_PULLUP));//(GPIO_PULLUP));//(GPIO_OPENDRAIN|GPIO_PULLUP));
    GPIO_SetupPinMux(9,GPIO_MUX_CPU1,1);        // EPWM5B (O) : Servo\DC Motor EPWM5
    GPIO_SetupPinOptions(9, GPIO_OUTPUT,(GPIO_OPENDRAIN|GPIO_PULLUP));//(GPIO_PULLUP));//(GPIO_OPENDRAIN|GPIO_PULLUP));
    GPIO_SetupPinMux(10,GPIO_MUX_CPU1,1);       // EPWM6A (O) : Servo\DC Motor EPWM6
    GPIO_SetupPinOptions(10, GPIO_OUTPUT,(GPIO_OPENDRAIN|GPIO_PULLUP));//(GPIO_PULLUP));//(GPIO_OPENDRAIN|GPIO_PULLUP));
    GPIO_SetupPinMux(11,GPIO_MUX_CPU1,1);       // EPWM6B (O) : Servo\DC Motor EPWM6
    GPIO_SetupPinOptions(11, GPIO_OUTPUT,(GPIO_OPENDRAIN|GPIO_PULLUP));//(GPIO_PULLUP));//(GPIO_OPENDRAIN|GPIO_PULLUP));
    EDIS;

  PWM_init();