作者:坚果 公众号:"大前端之旅" 华为HDE,InfoQ签约作者,OpenHarmony布道师,擅长HarmonyOS应用开发、跨平台Flutter开发、熟悉服务卡片开发、小程序开发、GO的相关开发。开源项目gin-vue-admin成员之一,先后在CSDN等平台分享了多篇技术文章,I在“战码先锋”活动中作为大队长,累计培养三个小队长,带领100 队员完成Pr的提交合入。
PWM 概述
PWM(Pulse Width Modulation)又叫脉冲宽度调制,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化。占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是 50%。
PWM 模块相关 API
接口名 | 描述 |
---|---|
unsigned int IoTPwmInit(unsigned int port) | PWM初始化 |
unsigned int IoTPwmDeinit(unsigned int port) | PWM去初始化 |
unsigned int IoTPwmStart(unsigned int port, unsigned short duty, unsigned int freq) | 按配置的参数输出PWM信号 |
unsigned int IoTPwmStop(unsigned int port) | 停止PWM信号输出 |
GPIO 接口调用举例如下:
代码功能:定义了 GPIO_00 号口为 PWM3_OUT 模式且输出比例为 50%的占空比,最后停止。
代码语言:javascript复制#include "iot_pwm.h"
IoTPwmInit(PWM3_OUT);
IoTPwmStart(PWM3_OUT,50,100);
IoTPwmStop(PWM3_OUT);