pwm接口演示

1 篇文章 0 订阅
1 篇文章 0 订阅

pwm接口

简介

Air724UG支持3路PWM输出:PWM_PWT_OUT, PWM_LPG_OUT, PWM_PWL_OUT_1


pwm接口控制

pwm的库由底层core实现,相关API接口如下:

API接口描述
pwm.open()打开pwm功能
pwm.set()设置pwm功能
pwm.close关闭pwm

详细的API介绍见luat core API章节

相关硬件接口

pwm硬件通道对应的管脚如下:

管脚定义

管脚名管脚号作用
PWM_PWT_OUT GPIO_549可以输出频率和占空比可调的PWM波形
PWM_LPG_OUT GPIO_1343可以输出频率和占空比固定的波形
PWM_PWL_OUT_1 GPIO_782输出频率不固定(一直在变化)但是占空比固定(可以调节)的波形

pwm使用示例

pwm 的具体使用方式可以参考如下示例代码,示例代码的主要步骤如下:
1.先建一个sys.taskInit任务
sys.taskInit(function ()
end)
2. 用gpio5做pwm输出时

    --0:gpio5,  1:gpio13
    local result=pwm.open(0)
    sys.wait(3000)
    log.info("vbatt.read",result)

    --参数	释义	取值范围
    --p1	周期	0-1024
    --p2	占空比	0-512
    --配置pwm参数
    pwm.set(0,1024,100)

2.用gpio13做pwm输出

    local result=pwm.open(1)
    sys.wait(3000)
    log.info("vbatt.read",result)

    --配置pwm参数
    --第一个1是id,第二个是p1:250ms,第三个是p2:125ms
    pwm.set(1,1,8)
    -- p1:代表一个周期的输出时间,对应关系为:
    --     0   --   LGP_PER_125MS
    --     1   --   LGP_PER_250MS
    --     2   --   LGP_PER_500MS
    --     3   --   LGP_PER_1000MS
    --     4   --   LGP_PER_1500MS
    --     5   --   LGP_PER_2000MS
    --     6   --   LGP_PER_2500MS
    --     7   --   LGP_PER_3000MS

    -- p2:代表一个周期高电平的输出时间,对应关系为:
    --     0   --   LGP_ONTIME_UNDEFINE
    --     1   --   LGP_ONTIME_15_6MS
    --     2   --   LGP_ONTIME_31_2MS
    --     3   --   LGP_ONTIME_46_8MS
    --     4   --   LGP_ONTIME_62MS
    --     5   --   LGP_ONTIME_78MS
    --     6   --   LGP_ONTIME_94MS
    --     7   --   LGP_ONTIME_110MS
    --     8   --   LGP_ONTIME_125MS
    --     9   --   LGP_ONTIME_140MS
    --     10  --   LGP_ONTIME_156MS
    --     11  --   LGP_ONTIME_172MS
    --     12  --   LGP_ONTIME_188MS
    --     13  --   LGP_ONTIME_200MS
    --     14  --   LGP_ONTIME_218MS
    --     15  --   LGP_ONTIME_234MS

5.在了解并修改了DEMO后将demo和对应的底包下载到开发板,下载的方式这里不详细说明请参考环境搭建中的烧录章节。
6. 下载完成后重启,在开发板上用示波器测试gpio13的管脚波形如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IiFpn0hI-1624847202875)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210420143615628_微信图片编辑_20210420143204.jpg “undefined”)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-an6e4uvS-1624847202883)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210420143634322_微信截图_20210420143445.png “undefined”)]

常见问题

  1. 为什么gpio13输出是低频波形吗?
    答:gpio13只能输出低频pwm 波形。
  2. 为什么配置后输出没波形
    答:看通道是否配置正确,gpio口是否被占用。

相关资料以及购买链接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: stm32_舵机pwm控制代码.zip是一个包含了STM32的舵机PWM控制代码的压缩文件。STM32是一家意法半导体公司推出的一系列32位微控制器产品。PWM控制是通过产生一个矩形波形信号来控制舵机的位置或角度。 在这个压缩文件中,包含了使用STM32微控制器来实现舵机PWM控制的代码。在开发舵机控制系统时,通常需要使用定时器来生成PWM信号,并通过改变占空比(PWM信号高电平的时间与一个周期的比例)来控制舵机的旋转角度。 在代码中,可能会包含初始化定时器的配置、设置定时器的计数周期、设置PWM输出引脚和引脚模式、配置PWM信号占空比等操作。这些操作都是为了生成合适的PWM信号来控制舵机的旋转角度。 使用这个代码文件,开发者可以根据自己的需求进行定制和修改,以适配不同型号或品牌的舵机,并实现精确的位置或角度控制。 总之,stm32_舵机pwm控制代码.zip提供了使用STM32微控制器来控制舵机的代码,为开发者提供了一个快速开始舵机控制系统开发的基础。 ### 回答2: stm32_舵机pwm控制代码.zip是一个压缩文件,里面包含了用于控制舵机的代码。stm32是一款常用的单片机系列,而舵机是一种常用的电机类型,主要用于控制物体的方向和角度。 这个压缩文件中的代码提供了使用stm32单片机通过pwm信号来控制舵机的方法。pwm(脉宽调制)信号是一种特殊的电信号,通过改变信号的脉冲宽度来控制电路中的设备的工作状态。在舵机控制中,pwm信号用于控制舵机的转动角度,通过改变信号的脉冲宽度,可以实现舵机在不同角度位置上的准确控制。 这份代码可能会涉及到stm32单片机的相关寄存器配置和pwm模块的初始化设置。它可能包括一些函数和变量,用于配置pwm的参数、设置舵机转动角度以及其他相关控制操作。 运行这个代码的步骤可能包括将代码导入stm32开发环境中,通过编译和下载到stm32单片机中,然后连接舵机到相应的引脚,并通过pwm信号进行控制。 使用这份代码,你可以根据自己的需求来控制舵机的运动,例如控制舵机左右转动、设置舵机的转动速度等。同时,你也可以根据自己的需求对代码进行修改和优化,以适应特定的应用场景。 总而言之,stm32_舵机pwm控制代码.zip是一个用于控制舵机的代码压缩文件,提供了使用stm32单片机通过pwm信号来控制舵机的方法。通过对代码的使用和修改,你可以实现对舵机的精确控制,满足你的特定需求。 ### 回答3: stm32_舵机pwm控制代码.zip是一个包含了STM32单片机舵机PWM控制的代码文件压缩包。这个压缩包里应该包含了相关的源代码和必要的支持文件。 在实际应用中,舵机通常是通过PWM信号进行控制的。PWM信号的特点是可以通过改变高电平时间与周期时间的比例来控制舵机的位置或角度。而STM32单片机的定时器资源可以用来生成PWM信号,因此我们可以使用它来控制舵机的位置或角度。 从这个压缩包中,我们可以预期会有一份或多份源代码文件,用于初始化定时器、配置GPIO引脚、设置PWM信号参数等。除此之外,还可能包含一些示例程序,用于演示如何控制舵机的位置或角度。 使用这个压缩包的步骤可能如下: 1. 解压缩得到源代码和支持文件。 2. 使用开发环境(如Keil等)打开源代码文件。 3. 根据具体的开发板和舵机接口,修改代码中的引脚配置和参数设置。 4. 编译并下载代码到STM32单片机。 5. 连接舵机并给予合适的电源供应。 6. 运行程序,舵机就可以根据你设置的PWM信号控制舵机的位置或角度了。 这个压缩包的存在为我们节省了编写控制舵机的代码的时间和精力,方便了我们在STM32单片机上进行舵机控制的开发工作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值