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:GPIO 输出的 OpenDrain 设置

Guru**** 2442090 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/979553/tms320f28375d-opendrain-settings-for-gpio-output

器件型号:TMS320F28375D

当使用具有全桥的逆变器时、
我想继续从以高电平输出 PWM GPIO
以避免 ARM 短路。

我尝试使用"输出/开漏"设置用于 PWM 的 GPIO。
上拉电阻器夹在线路之间。

当使用以下说明进行初始化时、
外部上拉电阻器被忽略、输出变为低电平。
该低电平将持续到 PWM 设置完成。

请告诉我、在始终发布高电平时是否有任何错误。

--------------------------
 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));
--------------------------

它在 main 中设置如下。
紧接着、PWM 被置位、

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

MAIN ()

   InitSysCtrl();
#ifdef _standalone
#ifdef _flash
   //发送引导命令以允许 CPU2应用程序开始执行
   IPCBootCPU2 (C1C2_Brom_BOOTMODE_BOOT_FROM _FLASH);
else //_FLASH
   //发送引导命令以允许 CPU2应用程序开始执行
   IPCBootCPU2 (C1C2_Brom_BOOTMODE_BOOT_FROM _RAM);
#endif //_FLASH
#endif //_standalone

   //初始化 GPIO。
   InitGpio();

   //外设引脚和 GPIO 引脚设置。
   EALLOW;
   CpuSysRegs.PCLKCR2.bit.EPWM5=1;
   CpuSysRegs.PCLKCR2.bit.EPWM6=1;

   GPIO_SetupPinMux (8、GPIO_MUX_CPU1、1);       // EPWM5A (O):伺服\DC 电机 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):伺服\DC 电机 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):伺服\DC 电机 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):伺服\DC 电机 EPWM6
   GPIO_SetupPinOptions (11、GPIO_OUTPUT、(GPIO_OPENDRAIN|GPIO_PULLUP));//(GPIO_PULLUP);//(GPIO_OPENDRAIN|GPIO_PULLUP));
   EDIS;

 PWM_init();

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    主题专家回答您的问题。 但是、我们一直在应对该地区恶劣的天气和停电、而且响应速度可能很慢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    将 GPIO 配置为立即在 main 中输出。 将其设为高电平。 配置您的 ePWM 外设、启动 ePWM、然后将引脚多路复用器从 GPIO 模式更改为 ePWM 模式。