1.10 haas506 2.0开发教程-driver-PWM(仅支持2.2以上版本)

最新案例教程点击下方链接跳转,CSDN已停止更新

点击跳转HaaS506官方最新案例







1.硬件图

在这里插入图片描述

2.PWM脉冲输出

(1)案例说明

  • 案例测试PWM脉冲输出。
  • 为了直观看出脉冲变化,使用示波器进行测量。
  • Haas2.0有两个WPM引脚GPIO3,GPIO39(1.0版本程序没有相关功能),两个引脚适用频率范围不同
GPIO3GPIO39
0~99hz100~10khz
  • 案例 board.josn配置设备节点,即GPIO3为"pwm_lpg"。GPIO39为"pwm_pwm"

(2)代码

main.py

from driver import PWM
import utime

pwm_pwm = PWM()
pwm_pwm.open("pwm_pwm")
pwm_lpg = PWM()
pwm_lpg.open("pwm_lpg")

def start_pwm_pwm():
    param = {'freq':1000, 'duty': 70 }
    pwm_pwm.setOption(param)

def start_pwm_lpg():
    param2 = {'freq':50, 'duty': 10 }
    pwm_lpg.setOption(param2)

if __name__ == "__main__":
    start_pwm_pwm()
    utime.sleep(5)
    start_pwm_lpg()
    utime.sleep(5)
    ret = pwm_pwm.getOption()
    print("pwm_pwm.getOption={}".format(ret))
    ret = pwm_lpg.getOption()
    print("pwm_lpg.getOption={}".format(ret))
    # pwm_pwm.close()
    # pwm_lpg.close()
    while True:
        utime.sleep(3)

board.json

{
 "name": "haas506",
"version": "2.0.0",
"io": {
  "pwm_pwm": {
    "type": "PWM",
    "port": 39
    },
    "pwm_lpg": {
      "type": "PWM",
      "port": 3
      },
  "serial1":{
    "type":"UART",
    "port":0,
    "dataWidth":8,
    "baudRate":115200,
    "stopBits":1,
    "flowControl":"disable",
    "parity":"none"
  },
  "serial2":{
    "type":"UART",
    "port":1,
    "dataWidth":8,
    "baudRate":115200,
    "stopBits":1,
    "flowControl":"disable",
    "parity":"none"
  },
  "serial3":{
    "type":"UART",
    "port":2,
    "dataWidth":8,
    "baudRate":115200,
    "stopBits":1,
    "flowControl":"disable",
    "parity":"none"
  }
},
"debugLevel": "DEBUG",
"repl":"disable",
"replPort":0
}

(3)效果

示波器分别连接地线与GPIO口

输出日志
在这里插入图片描述

示波器现象

  • GPIO39

在这里插入图片描述

  • GPIO3

在这里插入图片描述

3.Class-PWM

PWM.open(nodeName)PWM.close()setOptionPWM.getOption()
打开PWM关闭PWM功能设置脉宽调制参数读取设置的参数

实例化
PWM = PWM()

返回值:PWM对象成功,返回PWM对象;PWM对象创建失败,返回None

PWM.open(nodeName) - 打开PWM

函数功能:根据board.json中设备节点的配置打开PWM设备

参数说明:
参数类型必选参数?说明
nodeNamestringboard.json配置文件中PWM设备节点的名称
board.json中的PWM类型设备属性配置项说明如下:
属性字段数据类型属性值必选项?字段说明
portNumber1配置端口值,这里跟芯片 datasheet上的端口对应
返回值:打开PWM设备成功返回0;打开PWM设备失败返回失败错误码

PWM.close() - 关闭PWM功能

函数功能:关闭PWM脉宽调制功能
注意事项:需确保要关闭的PWM处于open状态
参数说明:无
返回值:关闭PWM设备成功返回0;关闭PWM设备失败返回失败错误码

PWM.setOption(Dictionary option) - 设置脉宽调制参数

函数功能:设置脉宽调制参数,包括freq和duty的值
注意事项:需确保此PWM处于open状态
参数说明: 设置的参数为字典类型,字典包含 freq 和 duty 两个值。 如: {'freq':2000, 'duty': 0 }
属性字段数据类型属性值必选项?字段说明
freqNumber1PWM信号频率配置,单位hz
dutyNumber1PWM占空比配置,这里按照百分数计算,设置50即为占空比50%
返回值:读取成功则返回0并按照设置的值输出PWM波形;负数代表读取数据失败

PWM.getOption() - 读取设置的参数

函数功能:读取PWM设置的参数值
注意事项:需确保此PWM处于open状态
参数说明: 无
返回值:读取成功返回参数字典,和设置的参数字典结构相同。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值