主题中讨论的其他器件:SEGGER
上一个帖子:
https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/610763
似乎有可能、PWM 模块不能 通过 Tivaware 语法将所有计数器复位为零、或者 此类过程的顺序是高度相关的。 然而 、在外设复位后、通过软件使发生器时基同步、 然而 CCS 调试中的3个发生器计数 器无法 同时相互滚动计数值。
使用 ROM 调用将计数器归零是否会出现问题? 是否需要特定的语法顺序或延迟周期来确保所有发生器 都重置为零计数? 如果 计数寄存 器因计数值的不同而发生变化、我们如何使用 CCS 调试来确保所有发生器计数都重置为零。 尤其是 在 ICDI 更新的情况下、 1MHz 被视为慢速、甚至 在 外设复位后证明发生了相等的发生器计数。
也许我们需要 Black Hawk XDS200或 Segger 高速调试仿真速度来证明是不是很好?
//禁用 PWM 模块*/
ROM_SysCtlPeripheralDisable (SYSCTL_Periph_PWM0);
//将 PWM 模块重置为零计数器*/
ROM_SysCtlPeripheralReset (SYSCTL_Periph_PWM0);
//在零计数时启用 PWM 模块计数器*/
ROM_SysCtlPeripheralEnable (SYSCTL_PWM0);//在零计数器
/*暂停此处直到 PWM0模块就绪*/
while (!(ROM_SysCtlPeripheralReady (SYSCTL_Periph_PWM0))
{
//*将120MHz SYSCLK 分频为60MHz PWMCLK */
HWREG (PWM0_BASE + PWM_O_CC)= PWM_SYSCLK_DIV/
*
/启用不同的 PWM 发生器函数/PWM0计数器/ PWM*/ PWM0_DIV/ PWM*计数器。 ROM_PWMGenEnable
(PWM0_BASE、PWM_GEN_0);
ROM_PWMGenEnable (PWM0_BASE、PWM_GEN_1);
ROM_PWMGenEnable (PWM0_BASE、PWM_GEN_1);ROM_PWMGenEnable (PWM0_BASE、 PWM_GEN_2);
ROM_PWMGenEnable (PWM0_BASE、PWM_GEN_3);
//同步 PWM 发生器时基。 //
HWREG (PWM0_BASE + PWM_O_SYNC)=(PWM_GEN_0_BIT | PWM_GEN_1_BIT | PWM_GEN_2_BIT | PWM_GEN_3_BIT);
