“端口扩展”的版本间的差异

来自Labplus盛思维基百科
跳转至: 导航搜索
图形化示例
第25行: 第25行:
 
详细的寄存器操作和指令说明,可查阅芯片手册[http://wiki.labplus.cn/images/5/5a/Pca9554.rar 点击下载]
 
详细的寄存器操作和指令说明,可查阅芯片手册[http://wiki.labplus.cn/images/5/5a/Pca9554.rar 点击下载]
  
 
=== 连接示意图 ===
 
=== Arduino示例 ===
 
 
=== MicroPython示例 ===
 
=== MicroPython示例 ===
 
<pre style="color:blue">
 
<pre style="color:blue">
第57行: 第54行:
 
</pre>
 
</pre>
  
=== <small>图形化示例</samll> ===
+
=== 图形化示例 ===
 
<br/>
 
<br/>
 
<br/>
 
<br/>

2018年4月20日 (五) 17:05的版本

黑色传感器最终版12.20-41.png

概述

当主控的引脚不够用时,可用该模块通过I2C接口拓展I/O口,最大支持8个I/O引脚拓展。

技术参数

  • 工作电压:VCC 3.3-5V
  • I2C数字信号通讯
  • 最大支持8个I/O端口拓展
  • 模块尺寸:24x46x7.5mm

引脚定义

VCC 电源
SDA I2C数据
SCL I2C时钟
GND

使用教程

详细的寄存器操作和指令说明,可查阅芯片手册点击下载

MicroPython示例

from microbit import *

def extendedPortInit():
  cfg=bytearray([0x03,0b01000000])
  i2c.write(0x20, cfg)

def readExtendedPort(pin):
  reg=bytearray([0])]
  i2c.write(0x20, reg)
  dat=i2c.read(0x20, 4)
  return dat[0] & (2**pin)

def digitalRead(pin):
  pin.read_digital()
  pin.set_pull(pin.NO_PULL)
  return pin.read_digital()


while True:
  extendedPortInit()
  if digitalRead(pinreadExtendedPort(0)
  ):
    pinreadExtendedPort(1)
    .write_digital(1)
    sleep(1000)

图形化示例



拓展端口.png

版本历史记录

Version Date Note [+]新增[-]删除[^]修复
V2.0