zoukankan      html  css  js  c++  java
  • [Micropython] TPYBoard ADC的使用方法

    基本用法

    import pyb
    adc = pyb.ADC(Pin('Y11')) # create an analog object from a pin
    adc = pyb.ADC(pyb.Pin.board.Y11)
    val = adc.read() # read an analog value
    adc = pyb.ADCAll(resolution) # creale an ADCAll object
    val = adc.read_channel(channel) # read the given channel
    val = adc.read_core_temp() # read MCU temperature
    val = adc.read_core_vbat() # read MCU VBAT
    val = adc.read_core_vref() # read MCU VREF
    pyb.ADC(pin)

    通过GPIO定义一个ADC
    pyb.ADCAll(resolution)

    定义ADC的分辨率,可以设置为8/10/12
    adc.read()
    读取adc的值,返回值与adc分辨率有关,8位最大255,10位最大1023,12位最大4095

    adc.read_channel(channel)
    读取指定adc通道的值

    adc.read_core_temp()
    读取内部温度传感器

    adc.read_core_vbat()
    读取vbat电压
    vback = adc.read_core_vbat() * 1.21 / adc.read_core_vref()

    adc.read_core_vref()
    读取vref电压(1.21V参考)
    3V3 = 3.3 * 1.21 / adc.read_core_vref()

    adc.read_timed(buf, timer)
    以指定频率读取adc参数到buf
    buf,缓冲区
    timer,频率(Hz)

    使用这个函数会将ADC的结果限制到8位
    adc = pyb.ADC(pyb.Pin.board.X19) # create an ADC on pin X19
    buf = bytearray(100) # create a buffer of 100 bytes
    adc.read_timed(buf, 10) # read analog values into buf at 10Hz
    #this will take 10 seconds to finish
    for val in buf: # loop over all values
    print(val) # print the value out

  • 相关阅读:
    call和apply的区别
    淘宝镜像(cnpm)的安装和使用
    文件包含漏洞
    vue简单的日历
    微信小程序(mpvue)—解决视频播放bug的一种方式
    vue 异步组件
    vuex的学习笔记
    vue2.0 添加监听滚动事件
    jquery tmpl生成导航
    vue 控制视图
  • 原文地址:https://www.cnblogs.com/xiaowuyi/p/9081540.html
Copyright © 2011-2022 走看看