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/CC3235MODSF:将 TCK 引脚用作 PWM 时 GPIO28无响应。

Guru**** 2589300 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/969771/ccs-cc3235modsf-gpio28-not-responding-while-using-tck-pin-as-pwm

器件型号:CC3235MODSF
Thread 中讨论的其他器件:SysConfig

工具/软件:Code Composer Studio

尊敬的 TI:

每当我们使用 TCK 引脚作为 PWM,并将 GPIO28定义为输入引脚时,该 GPIO 不接受任何输入,而使用另一个引脚更改 PWM 时,gpio28工作正常。 请告诉我们发生这种情况的原因。 请帮助我们解决此问题。

SysConfig 图片中的 gpio28

PWM SysConfig 图片

BR、  

Sarju Bhatnagar

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

    您好 Sarju、

    在 CCS 中构建项目后、您应该会在名为 Debug/syscfg 的项目中看到一个包含文件 ti_drivers_config.c 的文件夹 您能否将该文件附加到此主题?

    此致、

    Sarah

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

    感谢您的回复 Sarah P、

    请在此处找到 ti_drivers_config.c 文件。

    e2e.ti.com/.../3343.ti_5F00_drivers_5F00_config.c

    请看一下、并告诉我这个问题。

    再次感谢。

    Sarju Bhatnagar

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

    您好 Sarju Bhatnagar、

    看上去一切正常。 您能否在代码中共享代码片段以初始化和启用 GPIO 中断、以及初始化和启动 PWM?

    此致、

    Sarah

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

    感谢您的连接、

    对于 GPIO:  

     GPIO_init();在 main 内部声明。 和引脚设置

    这就是我为 GPIO 初始化所做的工作,之后我只想使用读取 GPIO 输入  

    IF (GPIO_READ (Relay_Check_L_N))
    {
    IoT_INFO (“Relay L N:high”);
    }
    其他
    {
    IoT_INFO (“Relay L N:low”);
    } 

    要检查 GP28是高电平还是低电平、但它不会改变它的状态、它始终为低电平。 同时为其提供高3.3V 电压。 当 TCK 用作 PWM 时、会发生这种情况。  

    一旦 TCK 被另一个 PWM 引脚取代、GPIO28就会做出良好响应。

    以下是 PWM 的设置详细信息

    在 main 内

    PWM_init(); 

    以打开 PWM

    静态空 Relay_Enable_2_Initialer()
    {
    /*以微秒为单位的周期和占空比*/
    uint16_t pwmPeriod = 1000;//3000;->对于1KHz 频率、为1000ms
    
    PWM_PARAMS_INIT (params);
    params.dutyUnits = PWM_Duty_US;
    params.dutyValue = 0;
    params.periodUnits = PWM_PERIOD_US;
    params.periodValue = pwmPeriod;
    params.idleLevel = PWM_IDLE_LOW;
    pwm2 = PWM_OPEN (Relay_Enable_2、params);
    if (pwm2 =NULL)
    {
    Display_printf (display、0、0、" Relay_Enable_2未打开\n");
    /* CONFIG_PWM_0未打开*/
    ASSERT_ON_ERROR (-1);
    while (1)
    ;
    }
    其他
    {
    Display_printf (display、0、0、" Relay_Enable_2 opened\n");
    }
    
    // PWM_Pulse 生成器(250);
    } 

    并设置占空比  

    静态空 Relay_Enable_1_Pulse 生成器(uint16_t Duty)//Duty 是一个模拟值。
    {
    PWM_START (pwm1);
    PWM_setDuty (pwm1、Duty);
    } 

    就是这样。  

    我希望它能帮助您理解这个问题。

    如果某个地方出现问题、请告知我们。

    再次感谢、

    Sarju Bhatnagar

     

     

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

    您好 Sarju Bhatnagar、

    API 的使用看起来都是正确的。 我唯一要让您检查的是您正在   Relay_Enable_2_Initializer ()中打开 handle pwm2,但您正在   Relay_Enable_1_Pulse Generator()中启动 pwm1。 您在发布时可能已经更换了这些器件、因此请在代码中进行验证。

    在原始帖子中、您说" GPIO 未接受任何输入。" 这是否意味着 GPIO_Read 不会返回? 值是否不正确? 此外、您是在定制板还是 LaunchPad 上进行测试?

    此致、

    Sarah

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

    您好、Sarah P、

    抱歉我的错误,实际上是 Relay_Enable_2_Pulse_Generator(),我错误地截取了类似函数的屏幕截图。

    实际功能低于-

    静态空 Relay_Enable_2_Pulse_Generator (uint16_t Duty)//Duty 是一个模拟值。
    {
    PWM_START (pwm2);
    PWM_setDuty (pwm2、Duty);
    } 

    其次、我的意思是  "GPIO 不接受任何输入"、是 GPIO 接受输入、但始终为低电平、但我为其提供高电平(3.3V)输入。

    我正在使用定制板。

    如果您想了解其他信息、请告诉我。

    感谢您的支持。

    Sarju Bhatnagar

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

    您好 Sarju、

    要进行验证,您已将应用程序刷写到器件中,并且在启动 PWM 后,您会看到串行终端的“Relay L N : low”(继电器 L N:低电平)附加打印件,正确吗? 我假设您在这里没有使用 JTAG。

    您可以共享原理图吗?

    此致、

    Sarah

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

    您好、Sarah、

    我们不使用 JTAG、使用 JTAG 引脚作为 GPIO 和 PWM、而是简单地使用 JTAG_TCK 引脚作为 PWM 来驱动 DRV 8847和 gpio28作为输入、以从继电器焊接检测中获取反馈。

    每当我们使用 TCK 引脚作为 PWM,并将 GPIO28定义为输入引脚时,该 GPIO 不接受任何输入,而使用另一个引脚更改 PWM 时,gpio28工作正常。 请告诉我们发生这种情况的原因。 请帮助我们解决此问题。

    谢谢

    sarju  

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

    您好 Sarju、

    我正在尝试确定您的应用中发生了什么。 启动 PWM 后,您是否仍然看到“Relay L N : low”打印到串行终端?

    我在 LaunchPad 上测试了一个使用 TCK 作为 PWM 的示例、并从 GPIO28读取输入(请参阅随附的)、我没有遇到任何问题。 没有内部引脚冲突。

    /cfs-file/__key/communityserver-discussions-components-files/81/pwmled2_5F00_CC3235SF_5F00_LAUNCHXL_5F00_tirtos_5F00_ccs.zip

    此致、

    Sarah