McP23017与Raspberry Pi接口
RPi-MCP23017的Python项目详细描述
MCP23017 RPI Python
==
==
覆盆子与MCP23017接口的库(例如在屏蔽上)
数据表:http://www1.microchip.com/downloads/en/devicedoc/21952b.pdf
http://www.abelectronics.co.uk/products/3/raspberry pi/18/io-pi-32-channel-port-expander-for-the-raspberry-pi-computer-boards
16位模式(2字节写入/读取)目前不受支持。
支持中断和(可能)8位MCP芯片的接口。
dependencies
==
features
===
mcp23017类
----
mcp23017类支持所有低级配置,如访问iocon寄存器,读取和写入任何寄存器
-使用地址初始化MCP23017
-在构造函数中可选配置银行位(默认值:银行=0)
-从特定寄存器读取
-写入特定寄存器
-在IOCON中设置特定位
-在iocon
-为芯片生成两个8位端口对象
---------
*设置I/O模式*
`pin_模式`
*设置pullups*
`pullup_模式`
*设置输入反转*
`input_invert`
*中断启用*
`中断启用`
*设置中断比较*
`中断比较`
*define interrupt compare*
`中断比较值`
-读写
`数字写`
`数字读`
-此外,它还可以处理通过传递一个方法来中断回调:
`set_callback`
usage
=
executing the module
---------
reading the chip on address 0x20
``bash
sudo./mcp23017.py 32
```
simple polling示例从MCP23017导入MCP23017,端口管理器,IOCON1)
在芯片1上设置一些配置位
chip1.设置配置(iocon['intpol'])
为芯片1生成端口-始终使用带键'a'和'b'的dict以及所需的rpi gpio中断管脚
端口=芯片1.生成端口({'a':4,'b':17})
“+name)
打印(port.digital_read())
````
有关设置回调的信息,请参见https://github.com/computerlyrik/powercounter
todo
====
-todo:实现16位模式,影响:
-read()方法
-write()方法
-中断镜像设置(?)
==
==
覆盆子与MCP23017接口的库(例如在屏蔽上)
数据表:http://www1.microchip.com/downloads/en/devicedoc/21952b.pdf
http://www.abelectronics.co.uk/products/3/raspberry pi/18/io-pi-32-channel-port-expander-for-the-raspberry-pi-computer-boards
16位模式(2字节写入/读取)目前不受支持。
支持中断和(可能)8位MCP芯片的接口。
dependencies
==
features
===
mcp23017类
----
mcp23017类支持所有低级配置,如访问iocon寄存器,读取和写入任何寄存器
-使用地址初始化MCP23017
-在构造函数中可选配置银行位(默认值:银行=0)
-从特定寄存器读取
-写入特定寄存器
-在IOCON中设置特定位
-在iocon
-为芯片生成两个8位端口对象
*设置I/O模式*
`pin_模式`
*设置pullups*
`pullup_模式`
*设置输入反转*
`input_invert`
*中断启用*
`中断启用`
*设置中断比较*
`中断比较`
*define interrupt compare*
`中断比较值`
-读写
`数字写`
`数字读`
-此外,它还可以处理通过传递一个方法来中断回调:
`set_callback`
usage
=
executing the module
---------
reading the chip on address 0x20
``bash
sudo./mcp23017.py 32
```
simple polling示例从MCP23017导入MCP23017,端口管理器,IOCON1)
在芯片1上设置一些配置位
chip1.设置配置(iocon['intpol'])
为芯片1生成端口-始终使用带键'a'和'b'的dict以及所需的rpi gpio中断管脚
端口=芯片1.生成端口({'a':4,'b':17})
“+name)
打印(port.digital_read())
````
有关设置回调的信息,请参见https://github.com/computerlyrik/powercounter
todo
====
-todo:实现16位模式,影响:
-read()方法
-write()方法
-中断镜像设置(?)