合宙Air724UG LuatOS-Air core API--pwm

该文介绍了如何使用PWM接口进行脉冲输出,包括pwm.open(),pwm.close()和pwm.set()函数的用法,详细阐述了参数id、param1、param2和clk_div的含义,以及不同设置下的周期和频率范围。还提供了具体的频率和占空比计算方法以及示例代码。
摘要由CSDN通过智能技术生成

Table of Contents
pwm
pwm.open(id)
pwm.close(id)
pwm.set(id,param1,param2,clk_div)
pwm
脉冲输出接口

pwm.open(id)
打开pwm

参数

参数 类型 释义 取值
id number PWM硬件编号 0(gpio5管脚),1(gpio13管脚)
返回值

返回值 类型 释义 取值
result number 1:表示成功,0:表示失败 1/0
详细指南:指南

pwm.close(id)
关闭脉冲输出

参数

参数 类型 释义 取值
id number PWM硬件编号 0(gpio5管脚),1(gpio13管脚)
返回值

返回值 类型 释义 取值
result number 1:表示成功,0:表示失败 1/0
pwm.set(id,param1,param2,clk_div)
设置脉冲参数,并输出脉冲

参数

参数 类型 释义 取值
id number PWM硬件编号 0(gpio5管脚),1(gpio13管脚)
param1 number 周期分频系数/周期 (id=0时取值范围1-2047)/(id=1时取值范围0-7)
param2 number 占空比计算系数/高电平时间 (id=0时取值范围1-1023)/(id=1时取值范围0-15)
clk_div(可选) number PWM分频模式 0(200M),1(25M),2(12.5M),3(6.25M)
返回值

例子

[[
0 :代表PWM0(gpio5管脚)
1 :代表PWM1(gpio13管脚)

当id为0吋: PWM0(gpio5管脚)
param1:周期分频系数( 最大值为2047),对应关系为:
clk_div默认为0
当clk_div为0吋:PWM0周期(45ns–82us)
PWM0周期 = (param18+1)/200000000 (s)
PWM0周期范围:(45ns–82us)
PWM0频率 = 200000000/(param1
8+1) (HZ)
PWM0频率范围:(12.2KHZ–22.2MHZ)

    当clk_div为1吋: PWM0周期(360ns--655us)
        PWM0周期 = (param1*8+1)/25000000 (s)
        PWM0周期范围:(360ns--655us)
        PWM0频率 = 25000000/(param1*8+1) (HZ)
        PWM0频率范围:(1.52KHZ--2.78MHZ)

    当clk_div为2吋: PWM0周期(720ns--1300us)
        PWM0周期 = (param1*8+1)/12500000 (s)
        PWM0周期范围:(720ns--1.3ms)
        PWM0频率 = 12500000/(param1*8+1) (HZ)
        PWM0频率范围:(763HZ--1.39MHZ)

    当clk_div为3吋: PWM0周期(1440ns--2625us)
        PWM0周期 = (param1*8+1)/6250000 (s)
        PWM0周期范围:(1440ns--2625us)
        PWM0频率 = 6250000/(param1*8+1) (HZ)
        PWM0频率范围:(381HZ--694KHZ)

param2:占空比计算系数( 最大值为1023),对应关系为:
    PWM0占空比 = param2/ param1
    PWM0占空比范围:(0--100)

当id为1吋: PWM1(gpio13管脚),PWM分频模式为0.
param1:代表周期,对应关系为:
0 – LPG_PER_125MS
1 – LPG_PER_250MS
2 – LPG_PER_500MS
3 – LPG_PER_1000MS
4 – LPG_PER_1500MS
5 – LPG_PER_2000MS
6 – LPG_PER_2500MS
7 – LPG_PER_3000MS
param2:代表高电平时间,对应关系为:
0 – LPG_ONTIME_UNDEFINE
1 – LPG_ONTIME_15_6MS
2 – LPG_ONTIME_31_2MS
3 – LPG_ONTIME_46_8MS
4 – LPG_ONTIME_62MS
5 – LPG_ONTIME_78MS
6 – LPG_ONTIME_94MS
7 – LPG_ONTIME_110MS
8 – LPG_ONTIME_125MS
9 – LPG_ONTIME_140MS
10 – LPG_ONTIME_156MS
11 – LPG_ONTIME_172MS
12 – LPG_ONTIME_188MS
13 – LPG_ONTIME_200MS
14 – LPG_ONTIME_218MS
15 – LPG_ONTIME_234MS

示例:
module(…, package.seeall)
function openPwm(id, para1, para2)
pwm.open(id)
pwm.set(id,para1,para2)
end

sys.taskInit(
function ()
– 通道0,周期为45ns,频率为22.2MHZ
misc.openPwm(0, 1,1)
– 通道0,PWM分频模式为1,周期为360ns,频率为2.78MHZ
–misc.openPwm(0, 1,1, 1)
– 通道1,频率为2Hz,周期为500ms
misc.openPwm(1, 2, 8)
sys.wait(5000)
end
)

]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l531798151

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值