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.

[参考译文] TMS570LC4357:RE:TMS570LC4357:为 PWM 信号分配特定输出引脚

Guru**** 2426460 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1312640/tms570lc4357-re-tms570lc4357-assign-specific-output-pin-for-pwm-signal

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

我最终弄清楚了如何解决在为特定引脚分配输出时遇到的问题。  HalCoGen 已初始化引脚、那么代码可以自由地分配它们。  视频 https://www.youtube.com/watch?v=O1BlOvi8Sn0中介绍了步骤1至6。  但是、对于我正在处理的特定问题、我将提供一些其他信息。  步骤1-6的顺序无关紧要、在参考视频中可能有所不同。  请务必选择您的特定器件、而不是视频说明中的器件

第1步:在 HalCoGen 中创建新项目。  我将其命名为 PWM。

第2步:(HalCoGen)在 HalCoGen 中启用所有 HET1引脚

步骤3:(HalCoGen)在 HET1标签页下、启用 PWM0-7并分配输出引脚。  为了简单起见,我指定了 PWM0-->0...PWM7-->7。

步骤4:(HalCoGen) 将引脚频率和占空比初始化为任意值。

步骤5:(HalCoGen)启用 HET1驱动程序。  默认情况下启用所有功能。  但是、为了实现更快的编译、请禁用除这一个之外的所有编译。

第6步:(HalCoGen)生成代码(F5)。  这将生成项目正确运行所需的头文件

步骤7:(CCS)如参考视频中详述的那样在 Code Composer Studio 中创建新项目。  在 CCS 的较新版本中、UI 略有不同。

第8步:(CCS)打开文件'hl_sys_main.c 后。  只在用户代码 begin (x)和用户代码末尾部分内编辑、以避免与 HalCoGen 自动生成的代码发生冲突。  当你使用 HalCoGen 生成代码时、它将覆盖这些注释段之外的所有代码。  如果不清楚、视频中也会对此进行说明。  下面是我编辑的代码。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

/*用户代码开始(0)*/
#include "HL_HET.h"
#include "HL_system.h"
/*用户代码结束*/

/*用户代码开始(1)*/
uint16_t pwmDUTY;                                              //创建一个16位整数变量来修改占空比
hetSIGNAL_t pwmSignal; // hetSIGNAL_t 是 het.h 中定义的结构
/*用户代码结束*/

/*用户代码开始(2)*/
uint8  emacAddress[6U]=  {0xFFU、0xFFU、0xFFU、0xFFU、0xFFU、 0xFFU};
UINT32 emacPhyAddress =  1U;
/*用户代码结束*/

/*用户代码开始(3)*/
   //gioSetDirection (hetPORT1、0xFFFFFFFF);
       hetInit();                                                     //初始化 HET 驱动程序
       pwmSignal.DUTY = 25;
       pwmSignal.Period = 1000;// us 周期
       pwmSetSignal (hetRAM1、pwm0、pwmSignal);
       pwmSignal.Duty = 50;
       pwmSignal.Period = 1000;// us 周期
       pwmSetSignal (hetRAM1、pwm1、pwmSignal);

       while (1){                                                      //开始一个无限循环

       }
/*用户代码结束*/

步骤9:(CCS)保存源文件'hl_sys_main.c'。

步骤10:(硬件)检查所有连接(USB、探头等)

步骤11:(CCS)运行调试(F11)

第12步:等待调试完成。

第13步:单击"Resume"(F8)

注意:如果不在步骤8中进行编辑、所有 PWM 输出将处于步骤4中初始化的值。  第8步使用代码将 PWM0和 PWM1分别更改为25%和50%。

步骤14:(Launchpad 电路板)如果红色的"ERR"指示灯亮起。 按下"RESET"(重置)按钮。  该指示灯有时会在加载后或出现故障时立即亮起。

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

    您好、Ronald、

    我终于找到了将输出分配给特定引脚时遇到的问题。

    感谢您在分步过程中分享这些详细信息。 这将会非常有帮助。

    我希望在使用 HET 生成 PWM 时不会有任何其他问题。

    --
    谢谢。此致、
    Jagadish。