首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microchip dsPIC33同时启动所有PWM

Microchip dsPIC33同时启动所有PWM
EN

Stack Overflow用户
提问于 2020-10-22 03:37:11
回答 1查看 87关注 0票数 1

在好奇号冲浪板上使用dsPIC33CK256MP508。

尝试在高分辨率模式下运行4个PWM生成器。

我将在单周期模式下运行它们。试图弄清楚如何准确地同时触发所有4个信号,或者从相同的事件触发它们,但我不能理解这个外围设备相当复杂的触发安排。

数据表显示的图表似乎表明它们都从相同的时基运行,或者至少它们看起来都在完全相同的时间启动,但实际上,当每个脉宽调制发生器被启用或使用PGxSTATbits.TRSET启动一个周期时,每个周期将按顺序启动,因为它们由顺序命令在不同的时间启动。

有什么简单的方法可以做到这一点吗?理想情况下,我想写一点代码,甚至驱动一个管脚或其他东西,这样每个生成器都能同时启动。只要它们同时启动,在触发和实际启动之间可能会有一些延迟。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-11 15:04:38

您可以初始化不同PWM定时器/计数器的计数器寄存器的值,使其同步启动。实际值取决于为每个定时器设置TRSET位与预分频器选项之间的指令数量。

首先,为您的模块/函数生成汇编列表,并手动计数触发每个PWM定时器之间的时钟周期。这将为您提供PWM定时器之间的精确相位差。

一旦准确知道相位差的周期数,在顺序触发之前,通过设置每个计数器的值来调整PWM计数器/定时器的相位。

换句话说,您必须对时钟周期进行计数并设置初始计数器值,以便它们都达到零或在启动时同时进行比较。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64470559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档