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.

[参考译文] CCS/TMS570LS0432:CAN#39;t 为 PWM 选择 N2HET 引脚

Guru**** 2195940 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/629701/ccs-tms570ls0432-can-t-select-n2het-pin-for-pwm

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

工具/软件:Code Composer Studio

您好!

我已经使用 HET IDE 生成了一个简单的代码、用于在 TMS570 Launchpad 上生成 PWM。 这个部分正在工作、我能够在 sys_main.c 中设置频率和占空比、如下代码所示:

/*此代码运行良好*/

int main (空)

/*用户代码开始(3)*/
   HETPROGRAM0_UN * pHETPROGRAM;


   hetInit();

   pHETPROGRAM =(HETPROGRAM0_UN*) hetRAM1;


   pHETprogram -> Program0_ST.L00_0.cnt.max = 2047;
   pHETprogram -> Program0_ST.L01_0.ECMP.data = 2000;


   while (1)
   {

   }
/*用户代码结束*/

   返回0;

此部件工作正常。 但是、每次我尝试手动选择引脚时、所选引脚上都没有输出信号。 我已经将 HALCOGEN 中所需的引脚设置为输出。 有人知道问题是什么、还是可以帮助我找到解决方案?

/*此代码不会生成输出信号*/

int main (空)

/*用户代码开始(3)*/
   HETPROGRAM0_UN * pHETPROGRAM;


   hetInit();

   pHETPROGRAM =(HETPROGRAM0_UN*) hetRAM1;


   pHETprogram -> Program0_ST.L00_0.cnt.max = 2047;

   pHETprogram -> Program0_ST.L01_0.ECMP.PIN_SELECT = 0;      //在这条线路上没有输出信号。
   pHETprogram -> Program0_ST.L01_0.ECMP.data = 2000;


   while (1)
   {

   }
/*用户代码结束*/

   返回0;

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

    对于正常工作的代码版本、输出会打开哪个引脚? 我认为这应该是您在 Halcogen 工具中配置 NHET 时选择的引脚。 此外、如果您想如图所示即时更改此值、还需要确保新引脚正确配置为输出引脚、如果在默认情况下在其他功能之后进行多路复用、则在选择之前通过引脚多路复用功能启用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复。

    对于工作版本、引脚2设置为输出。 在 Halcogen 内配置 NHET 时、新引脚0也被设定为输出。 但问题是一样的。 我无法更改主代码中的引脚。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    没有人能提供帮助?

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

    我终于解决了这个问题。 与上一篇文章一样、您需要将所需的引脚设置为输出。 能够在主代码内更改引脚的工作代码如下所示:

    #include "sys_common.h"

    /*用户代码开始(1)*/
    #include "het.h"
    #include "test.h"
    /*用户代码结束*/

    /**@fn void main (void)
    *  @应用程序主函数简介
    *  @请注意、默认情况下、此函数为空。
    *
    *  此函数在启动后调用。
    *  用户可以使用此函数来实现应用程序。
    *

    /*用户代码开始(2)*/
    /*用户代码结束*/

    int main (空)

    /*用户代码开始(3)*/
       HETPROGRAM0_UN * pHETPROGRAM;





       pHETPROGRAM =(HETPROGRAM0_UN*) hetRAM1;

       hetInit();

       pHETprogram -> Program0_ST.L00_0.cnt.max = 2047;

       pHETprogram -> Program0_ST.L01_0.ECMP.data = 500;

    //更改引脚的步骤
       pHETprogram -> Program0_ST.L01_0.ECMP.PIN_SELECT = 2;
       pHETPROGRAM -> Program0_ST.L01_0.ECMP.en_PIN_ACTION = 1;
       pHETprogram -> Program0_ST.L01_0.ECMP.SUB_OPCode = 0;
       pHETPROGRAM -> Program0_ST.L01_0.ECMP.PIN_ACTION = 0;
       pHETprogram -> Program0_ST.L01_0.ECMP.OPTICE_ACTION = 1;


       while (1)
       {


       }
    /*用户代码结束*/

       返回0;

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

    很高兴听到您解决了这个问题。 如有任何其他问题、请告知我们。