如何用python控制示波器_PCF8591使用及Python控制

本文详细介绍了如何使用Python控制PCF8591芯片,阐述了PCF8591与Raspberry Pi的关系、地址设置、I2C协议以及Python代码中的关键操作。通过实例解析了读取和写入数据的过程,旨在帮助读者理解如何用Python控制示波器。
摘要由CSDN通过智能技术生成

PCF8591使用及Python控制

INTRODUCTION

大家一定对于PCF8591芯片,对于其中的A0、A1、A2、channel0-channel3、AIN0-AIN3、AOUT、SCL、SDA等等以及I2C协议有着很大的困惑。同时也没有完全理解Python代码中的0x40、0x41、0x42、0x43、0x48到底是什么,bus.write_byte(0x48, 0x40) bus.write_byte(0x48, 0x40, value) bus.read_byte(0x48)这些代码到底控制什么。

这篇文章将帮助大家理清以上内容。

一、PCF8591与Raspberry Pi的关系

做一个很简单的形象化,将整个系统看作一个进水/出水装置。

装置有四根进水管,分别命名为AIN0, AIN1, AIN2, AIN3,还有唯一一根出水管,命名为AOUT。还有四个中转通道,分别命名为channel0, channel1, channel2, channel3,从四根进水管进来的水可以受控制地从某一个通道中流出,进入总管道,之后通过两根出水管道——SDA和SCL,进入一个水的加工处理储存设备。

Raspberry PI是“MASTER”,PCF是“SLAVER”,他们之间是主从关系。如果主器件要发送数据给从器件,则会启动数据传输,并发送数据至从器件,最后终止数据传输;如果主器件想要接受从器件发来的数据,同样也是发出命令启动数据传输,接收从器件发来的数据,最后终止接收过程。

强调一点:每次数据传输都是由“MASTER”主动开启的。

是否清晰了一些?理清总的关系以后我们再来看具体细节。

二、PCF的地址与A0-A2引脚

一个“MASTER”不可能只有一个“SLAVER”。所以对于“MASTER”来说,需要给“SLAVERS”编号,以便控制、命令。这个编号也就是PCF地址。地址的编码规则如下图:

可以看出,这是一个七位二进制数,前四位是fixed number,后三位分别对应PCF的三个引脚——A0, A1, A2。每一个引脚的值都可以是0或1,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值