博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DAC的使用用法
阅读量:6207 次
发布时间:2019-06-21

本文共 1280 字,大约阅读时间需要 4 分钟。

hot3.png

基本用法
from pyb import DAC
dac = DAC(1)            # create DAC 1 on pin X5
dac.write(128)          # write a value to the DAC (makes X5 1.65V)
dac = DAC(1, bits=12)   # use 12 bit resoluon
dac.write(4095)         # output maximum value, 3.3V
输出正弦波
import math
    from pyb import DAC
    # create a buffer containing a sine-wave
    buf = bytearray(100)
    for i in range(len(buf)):
    buf = 128 + int(127 * math.sin(2 * math.pi * i / len(buf)))
    # output the sine-wave at 400Hz
    dac = DAC(1)
dac.write_timed(buf, 400 * len(buf), mode=DAC.CIRCULAR)
出12位精度正弦波
    import math
    from array import array
    from pyb import DAC
    # create a buffer containing a sine-wave, using half-word samples
    buf = array('H', 2048 + int(2047 * math.sin(2 * math.pi * i / 128)) for i in range(128))
    # output the sine-wave at 400Hz
    dac = DAC(1, bits=12)
    dac.write_timed(buf, 400 * len(buf), mode=DAC.CIRCULAR)
class pyb.DAC(port, bits=8)
定义DAC
        port,1或2,对应X5(PA4)/X6(PA5)
bits,输出精度,可以是8或12
        dac.init(bits=8)
        初始化DAC
        dac.noise(freq)
        以指定频率,产生伪随机噪声信号
dac.triangle(freq)
以指定频率产生三角波
        dac.write(value)
        写入参数。在8bits时,参数范围[0-255];在12bits时,参数范围[0..4095]
        dac.write_timed(data, freq, *, mode=DAC.NORMAL)
        使用DMA方式周期写入数据
                data,缓冲区数组
                freq,默认使用Timer(6),用指定频率更新。也可以指定另外的定时器,有效的定时器是[2, 4, 5, 6, 7, 8]
                mode,DAC.NORMAL or DAC.CIRCULAR

转载于:https://my.oschina.net/micropython/blog/1817069

你可能感兴趣的文章
apache2 php mysql installed by script
查看>>
《在你身边,为你设计》-哪位知道下载、在线阅读地址啊?
查看>>
SAP里删除trace文件的方法
查看>>
我的友情链接
查看>>
JVM调优
查看>>
基于KVM的虚拟化研究及应用
查看>>
WAS 报错 Font '宋体' is not available to the JVM
查看>>
Windows更新补丁下载、批量安装的几种方法
查看>>
Petapoco使用SQLite的异常问题
查看>>
tomcat 指定的服务未安装(总结验证)
查看>>
redhat6.4 安装oracle 10g error
查看>>
我的友情链接
查看>>
关闭子窗口 父窗口自动刷新
查看>>
linux下安装thinkpad小红点和滚轮的驱动
查看>>
opencv 在debian6.0下安装
查看>>
简单了解tengine
查看>>
我的友情链接
查看>>
EditPlus自定义模板
查看>>
The Best Way to Unit Test in Android
查看>>
ln链接使用
查看>>