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.

[参考译文] TM4C129XNCZAD:在 PWMClockSet 中生效

Guru**** 2392435 points
Other Parts Discussed in Thread: TM4C129XNCZAD

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/773798/tm4c129xnczad-assert-in-pwmclockset

器件型号:TM4C129XNCZAD


器件:   TM4C129XNCZAD
Driverlib:   2.1.4.178

预定义的编译器符号:
   PART_TM4C129XNCZAD
   Target_IS_TM4C129_RA2
   调试


使用初始化 PWM 时...
   
   PWMClockSet (PWM0_BASE、PWM_SYSCLK_DIV_1);
   
此函数条目处的断言在第二个参数的验证检查中不包括 PWM_SYSCLK_DIV_1、因此会触发断言。
这是监督吗? 还是 PWM_SYSCLK_DIV_1实际上是非法参数?

此致。

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

    PWM_SYSCLK_DIV_1是有效参数、但看起来在 API 中错过了该参数。 我已将此问题输入到我们的错误跟踪系统中、以便可以在下次更新时解决。

    由于 driverlib 的发布版本不包含断言宏的开销、我们以前没有听说过这个问题、因此感谢您提出这个问题、以便我们能够解决这个问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Ralph 提供的信息。

    在相关问题上,driverlib 的 TimerConfigure()参数验证中存在类似的问题。 例如...

    TimerConfigure (Timer1_base、timer_CFG_SPLIT_PAIR | timer_CFG_A_PWM | timer_CFG_B_ACT_NONE);

    目的是在拆分模式中使用 Timer1、将 Timer_A 用于 PWM 控制、并使 Timer_B 保持空闲状态。 这将触发

    配置参数的 TIMER_CFG_B_*字段的参数验证声明。

    此致。

    Tony。

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

    您好、Tony、

    很抱歉、回复延迟、看起来好像一个断言会正确检查 TIMER_CFG_SPLIT_PAIR、但我一直在尝试找出另一个断言、我认为您正被绑定在一起、对我来说这似乎是错误的。 其目的似乎是断言如果不使用 SPLIT_PAIR、同时将 A 和 B 配置在一起、但根据我可以遵循的内容、不会发生这种情况、因为检查是如何组合在一起的。

    此外、如果您最终不使用拆分对功能、则可能会遇到此断言集的另一个问题: https://e2e.ti.com/support/microcontrollers/other/f/908/p/710129/2617541#2617541

    看起来也不像添加了 TM4C129x MCU 的断言、但这是另一个主题、我怀疑是这样做的、因为很难屏蔽正确 MCU 的检查...

    无论如何、我们必须认真审查该函数的断言、因为它看起来像编写该函数的前工程师做得很糟糕...