LPC55S69之PWM

LPC55S69可以使用SC timer(SCT)或者ctimer来产生PWM,官方提供的ctimer例子比较好用,占空比和频率均可调。

但是,LPC55S69的SCT配置PWM在手册上没写清楚的,这里提供个例子,PWM的频率可在10Hz~1kHz之间可调,步进10Hz;占空比在1%~100%之间可调。

一、引脚。

二、外设。

三、代码。

#include "fsl_debug_console.h"
#include "board.h"
#include "fsl_sctimer.h"
#include "pin_mux.h"
#include <stdbool.h>
#include "peripherals.h"

int main(void) {
	uint8_t duty = 30; //1~100
	uint32_t freq = 10; // 10Hz~1kHz,step=10Hz
    CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
    BOARD_InitPins();
    BOARD_BootClockPLL150M();
    BOARD_InitDebugConsole();
    BOARD_InitBootPeripherals();

    SCTIMER_StopTimer(SCT0_PERIPHERAL, kSCTIMER_Counter_L);
    PRINTF("\r\nPWM OUTPUT SCT0_CLOCK_FREQ=%d",SCT0_CLOCK_FREQ);
    SCTIMER_SetupPwm(SCT0_PERIPHERAL, &SCT0_pwmSignalsConfig[0], kSCTIMER_EdgeAlignedPwm, freq, SCT0_CLOCK_FREQ, &SCT0_pwmEvent[0]);
    SCTIMER_UpdatePwmDutycycle(SCT0_PERIPHERAL, SCT0_OUTPUT_2,duty, SCT0_pwmEvent[0]);
    SCTIMER_StartTimer(SCT0_PERIPHERAL, kSCTIMER_Counter_L);

    while (1)
    {
    }
}

四、说明。

1、使用。

改变freq和duty两个参数,即可输出不同参数的PWM。

2、分频系数。

其中,分频系数要根据需求来设置,如下图所示。

这里输出的频率较低,所以设置的分频系数较大,要输出高频率,可以调小分频系数,这里没有公式,多试几次就好。

3、输出固定低电平。

要想输出低电平(0%占空比或0频率),可以调用以下函数。

SCTIMER_StopTimer(SCT0_PERIPHERAL, kSCTIMER_Counter_L);

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值