单片机学习小组
直播中

梁宏满

8年用户 1057经验值
私信 关注

请问如何对M451系列的PWM设定计数器同步功能?

在完成需要的PWM设定后,增加下列程序:
/* Enable PWM0, PWM2, PWM4 timer Synchronous */
PWM_ENABLE_TIMER_SYNC(PWM0, BIT0|BIT2|BIT4);     
/* Start PWM */
PWM0->SSTRG = 1;

回帖(1)

Arvinhw

2024-1-12 17:24:29
M451系列的PWM设定计数器同步功能,可以通过以下步骤实现:

1. 配置好需要的PWM模块,包括计数器周期、占空比、极性等参数。

2. 在完成PWM设定后,使用PWM_ENABLE_TIMER_SYNC函数开启计数器同步功能,该函数的第一个参数是PWM模块的名称,第二个参数是需要同步的计数器编号,通过BIT0、BIT1、BIT2等宏定义表示。

3. 使用PWM模块的SSTRG寄存器启动PWM输出,该寄存器的值设为1即可。

下面是具体的代码示例:

```
/* 配置PWM0、PWM2、PWM4的计数器周期和占空比 */
PWM_ConfigOutputChannel(PWM0, 0, 5000, 2500);
PWM_ConfigOutputChannel(PWM2, 0, 5000, 3000);
PWM_ConfigOutputChannel(PWM4, 0, 5000, 2000);

/* 开启PWM0、PWM2、PWM4的计数器同步功能 */
PWM_ENABLE_TIMER_SYNC(PWM0, BIT0|BIT2|BIT4);

/* 启动PWM输出 */
PWM0->SSTRG = 1;
```

其中,PWM_ConfigOutputChannel函数用于配置PWM输出通道的参数,第一个参数是PWM模块的名称,第二个参数是通道编号,第三个参数是计数器周期,第四个参数是占空比。

另外,需要注意的是,如果需要关闭计数器同步功能,可以使用PWM_DISABLE_TIMER_SYNC函数。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分