PWM输出在一个周期之间变为高电平。

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
11个帖子/ 0新
最后一篇
imaizumi.k.
离线
最后一次露面:2周5天前
加入:2018-06-22 01:18
PWM输出在一个周期之间变为高电平。

您好对话框支持团队,

我想改变PWM占空比(使用Timer2)。
PWM输出在一个循环之间变为高电平的PRAPOM。
我附加PWM输出的快照。

我读到了DA14580数据表中的“图48:定时器2 PWM框图”。
我认为这种现象是由职责的比较造成的。
仅当T2_DUTY_CNTR仅等于PWM2_DUTY时,PWM输出变为低电平。
但是当PWM2_DUTY设置少于T2_DUTY_CNTR时,PWM输出在一个周期之间保持高电平。

我认为这种现象是在附加的快照中发生的

这个想法是否正确?
你能告诉我这个解决方法吗?

此致,
katsutoshi imaizumi,

关键词:
附件:
设备:
PM_DIALOG.
离线
最后一次露面:6天14小时前
职员
加入:2018-02-08 11:03
嗨imaizumi.k,

嗨imaizumi.k,

当您将PWM占空比更改为较低的PWM占空比时,这种现象有时会发生,因为新的PWM占空比必须等到Timer2进入零。因此,如果将占空比更改为较低的函数,则计时器将不会为零,则在一个周期之间看到高电平。在更改占空比之前,周围的理论工作将归零,并在更改占空比之前添加小延迟(例如3 NOP)。

谢谢,PM_DIALOG.

imaizumi.k.
离线
最后一次露面:2周5天前
加入:2018-06-22 01:18
我明白我必须

我明白我必须等到Timer2在更改职责之前归零。
但我不知道观看Timer2进入零的时间。
因为t2_duty_cntr和t2_freq_cntr是内部寄存器,所以14580核无法读取它。

你能告诉我如何确认Timer2计数器吗?

此致,
Katsutoshi imaizumi.

PM_DIALOG.
离线
最后一次露面:6天14小时前
职员
加入:2018-02-08 11:03
嗨imaizumi.k,

嗨imaizumi.k,

你能澄清你的问题吗?正如我之前的帖子中提到的那样,在更改占空比之前,您应该添加一个小延迟(例如3 NOP)。那么,你想知道延迟的持续时间吗?

谢谢,PM_DIALOG.

imaizumi.k.
离线
最后一次露面:2周5天前
加入:2018-06-22 01:18
对不起,但我不能

对不起,但我无法理解“围绕归零定时器2的工作”的含义。
这意味着“timer2计数器为零”或“timer2停止”?或其他含义?

如果意味着“timer2计数器为零”,请告诉我该方法。
如果它意味着2“timer2停止”,我理解它是“timer2停止 - > 3nop - >责任变化 - > timer2开始”。
但是当我做Timer2重新启动时,Timer2周期定时更改。
我不想改变PWM的时机,我想改变PWM的职责。

Colud你告诉我我的问题的答案?

此致,
katsutoshi imaizumi,

PM_DIALOG.
离线
最后一次露面:6天14小时前
职员
加入:2018-02-08 11:03
嗨imaizumi.k,

minor-latin;mso-bidi-theme-font:minor-latin;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;background:white;mso-ansi-language:
EN-US">嗨imaizumi.k,

minor-latin;mso-bidi-theme-font:minor-latin;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;background:white;mso-ansi-language:
EN-US">为延迟道歉。您应该将计时器设置为零并添加小延迟,因此不需要停止计时器。如果您想要任何指导,请您告诉我吗?您是否将计时器设置为零?

minor-latin;mso-bidi-theme-font:minor-latin;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;background:white;mso-ansi-language:
EN-US">谢谢,PM_DIALOG.
mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:
minor-latin;background:white;mso-ansi-language:EN-US">

imaizumi.k.
离线
最后一次露面:2周5天前
加入:2018-06-22 01:18
谢谢您的答复。

谢谢您的答复。
我想知道将Timer2设置为零而不停止计时器的指导。
请告诉我如何做到这一点。

此致,
Katsutoshi imaizumi.

PM_DIALOG.
离线
最后一次露面:6天14小时前
职员
加入:2018-02-08 11:03
嗨imaizumi.k,

嗨imaizumi.k,

您可以上传您使用的代码片段吗?之后,我会审查它,我会尽快回复你。

谢谢,PM_DIALOG.

imaizumi.k.
离线
最后一次露面:2周5天前
加入:2018-06-22 01:18
我附上了源代码

我附上了导致现象的源代码。
它是Supply Source“Timer2_PWM”。
我修改了它以缩短占空比定时。

你能检查代码吗?

此致,
Katsutoshi imaizumi.

PM_DIALOG.
离线
最后一次露面:6天14小时前
职员
加入:2018-02-08 11:03
嗨imaizumi.k,

嗨imaizumi.k,

感谢您上传代码。让我检查你的项目,我会尽快回复你。

谢谢,PM_DIALOG.

PM_DIALOG.
离线
最后一次露面:6天14小时前
职员
加入:2018-02-08 11:03
嗨imaizumi.k,

嗨imaizumi.k,

您正在使用的延迟是您使用的太短,所以我强烈建议您使用默认延迟(1秒)作为SDK的示例。

谢谢,PM_DIALOG.