1378|5

2625

帖子

6

TA的资源

五彩晶圆(初级)

楼主
 

MicroPython驱动LB2032 32通道12bit Dac [复制链接]

 
from machine import Pin, SoftSPI
import time


def WDac(H,L):
    #txbuf 需要将16进制转换为10进制
    spi = SoftSPI(baudrate=51000, polarity=0, phase=0, mosi=Pin(4), miso=Pin(16), sck=Pin(2))
    spi.init(baudrate=125000) # set the baudrate
    p16 = Pin(17, Pin.OUT)    # create output pin on GPIO16
    p16.value(0)             # set pin to on/high
    time.sleep(1)
    p16.value(0)             # set pin to on/high
    
    #开启POWER EN0
    p16.value(0)             # set pin to on/high
    txbuf =bytearray([0,178,255])
    spi.write(txbuf) # write to MOSI and read from MISO into the buffer
    p16.value(1)             # set pin to on/high
    time.sleep(0.001)
    
    #开启POWER EN1
    p16.value(0)             # set pin to on/high
    txbuf =bytearray([0,179,255])
    spi.write(txbuf) # write to MOSI and read from MISO into the buffer
    p16.value(1)             # set pin to on/high
    time.sleep(0.001)
    
    #开启POWER EN2
    p16.value(0)             # set pin to on/high
    txbuf =bytearray([0,180,255])
    spi.write(txbuf) # write to MOSI and read from MISO into the buffer
    p16.value(1)             # set pin to on/high
    time.sleep(0.001)
    
    #开启POWER EN3
    p16.value(0)             # set pin to on/high
    txbuf =bytearray([0,181,255])
    spi.write(txbuf) # write to MOSI and read from MISO into the buffer
    p16.value(1)             # set pin to on/high
    time.sleep(0.001)
    
    #所有DAC Range 0~10
    #p16.value(0)             # set pin to on/high
    #txbuf =bytearray([128,21,102])
    #spi.write(txbuf) # write to MOSI and read from MISO into the buffer
    #p16.value(1)             # set pin to on/high
    #time.sleep(0.001)
    
    #所有DAC高8位写 0x80
    p16.value(0)             # set pin to on/high
    txbuf =bytearray([0,126,H])
    spi.write(txbuf) # write to MOSI and read from MISO into the buffer
    p16.value(1)             # set pin to on/high
    time.sleep(0.001)
    
    #所有DAC低8位写 0x00
    p16.value(0)             # set pin to on/high    
    txbuf =bytearray([0,127,L])
    spi.write(txbuf) # write to MOSI and read from MISO into the buffer
    p16.value(1)             # set pin to on/high
    time.sleep(0.001)
    
    p16.value(0)             # set pin to on/high   
    #更新寄存器
    txbuf =bytearray([0,15,1])
    spi.write(txbuf) # write to MOSI and read from MISO into the buffer    
    p16.value(1)             # set pin to on/high

#reg addr 需要转换成10进制
def GetReg(RegAddr):
    rxbuf = bytearray(1)      # create a buffer
    spi = SoftSPI(baudrate=51000, polarity=0, phase=0, mosi=Pin(4), miso=Pin(16), sck=Pin(2))
    spi.init(baudrate=125000) # set the baudrate
    p16 = Pin(17, Pin.OUT)    # create output pin on GPIO16
    p16.value(0)             # set pin to on/high
    txbuf =bytearray([128,RegAddr])
    spi.write(txbuf)
    time.sleep(0.0005)
    spi.readinto(rxbuf) # write to MOSI and read from MISO into the buffer
    p16.value(1)
    return rxbuf

 

最新回复

DAC是不是比ADC便宜啊,我ADC感觉8通道的就已经很多了。   详情 回复 发表于 2024-1-31 18:49
点赞 关注
个人签名

希望做一些大家觉得好用的东西!

 
 

回复
举报

2625

帖子

6

TA的资源

五彩晶圆(初级)

沙发
 

帮客户测芯片,还是MicroPython方便,马上就能测

个人签名

希望做一些大家觉得好用的东西!

 
 
 

回复

1万

帖子

25

TA的资源

版主

板凳
 

的确方便,可以封装成一个库。

点评

没有写全,下次要测芯片比较全功能在到eeworld找  详情 回复 发表于 2024-1-31 14:15
 
 
 

回复

2625

帖子

6

TA的资源

五彩晶圆(初级)

4
 
dcexpert 发表于 2024-1-31 11:13 的确方便,可以封装成一个库。

没有写全,下次要测芯片比较全功能在到eeworld找

个人签名

希望做一些大家觉得好用的东西!

 
 
 

回复

6773

帖子

2

TA的资源

版主

5
 

DAC是不是比ADC便宜啊,我ADC感觉8通道的就已经很多了。

点评

那倒没注意过,这个多通道DAC可以当从DAC去做校准用,再来个主DAC发一个共同值  详情 回复 发表于 2024-2-1 09:21
 
 
 

回复

2625

帖子

6

TA的资源

五彩晶圆(初级)

6
 
wangerxian 发表于 2024-1-31 18:49 DAC是不是比ADC便宜啊,我ADC感觉8通道的就已经很多了。

那倒没注意过,这个多通道DAC可以当从DAC去做校准用,再来个主DAC发一个共同值

个人签名

希望做一些大家觉得好用的东西!

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表