打印
[应用相关]

[资料] [Micropython TPYBoard ] ADC的使用方法

[复制链接]
645|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Rollo|  楼主 | 2018-9-27 21:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基本用法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位最大4095adc.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
沙发
观海| | 2018-10-10 11:58 | 只看该作者
这个是什么语言

使用特权

评论回复
板凳
guanjiaer| | 2018-10-10 12:07 | 只看该作者
请问有语法讲解吗

使用特权

评论回复
地板
不爱说话| | 2018-10-11 15:35 | 只看该作者
语法是Python3的,扩展了在STM32F405上的外设package(pyb)

使用特权

评论回复
5
simon223| | 2018-10-11 22:21 | 只看该作者
感谢分享,请教楼主有什么入门资料吗

使用特权

评论回复
6
磨砂| | 2018-10-12 10:26 | 只看该作者
这个是什么开发板呀

使用特权

评论回复
7
晓伍| | 2018-10-12 10:47 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

730

帖子

1

粉丝