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

  • 相关阅读:
    Axis2发布Webservice进行身份校验
    Spring集成Axis2
    分布式事务解决方案之TCC
    Lua 数据类型
    Lua 基本语法(1)
    Axis发布Webservice服务
    Linux中NFS服务器搭建
    SpringBoot多环境切换
    springboot中spring.profiles.include的妙用
    oracle树形语句
  • 原文地址:https://www.cnblogs.com/xiaowuyi/p/9081540.html
Copyright © 2011-2022 走看看