控制GPIO、I2C和SPI

pyA13SOM的Python项目详细描述


这个包提供了控制GPIO管脚、I2C和SPI总线的方法。
这是为A13-SOM编写的,但可以与其他板一起使用。如果您这样做,我们不能保证模块正常工作。在使用这个
包之前,我们建议阅读olimex wiki上的文章:

https://www.olimex.com/wiki/a13-som

>使用gpio时,请确保所需的gpio不被其他外围设备使用。

====

init()-初始化模块的离子。必须始终首先调用。
getcfg()-读取GPIO的当前配置。
setcfg()-将配置写入GPIO。
input()-返回GPIO的当前值。
output()-设置输出值。
pull up()-设置上拉/下拉。



可用常数为:

name-等于
==============
high->;1
low->;0
input->;0
ouptut->;1
pullup->;1
pulldown->;2




这些可以从连接器模块导入:

>;>from pya13som.gpio import connector
>;>dir(连接器)

e.

>;>;led=port.ph2
>;>;打印led
226





i2c方法
==


init()-初始化模块
open()-开始与从属设备通信
read()-从从属设备读取设备
write()-将数据写入从设备
close()-结束与从设备的通信



==


open()-打开具有给定配置的spi总线
read()-从从设备读取数据而不进行写入
write()-在不读取的情况下将数据写入从设备
xfer()-执行写入操作,然后读取
close()-关闭spi总线





/usr/bin/env python

from pya13som.gpio import gpio
from pya13som.gpio import port
from pya13som.gpio import connector


gpio.setcfg(port.pg9,gpio.output)配置led1为output
gpio.setcfg(port.pg9,1)这与上面的相同io.pull up(port.pe11,0)清除pullups
gpio.pullup(port.pe11,gpio.pull down)启用下拉
gpio.pullup(port.pe11,gpio.pullup)启用上拉

,而如果gpio.input(port.pe11)==1:
gpio.output(port.pg9,gpio.low)
gpio.output(port.pg9,0)
其他:
gpio.output(port.pg9,gpio.high)
gpio.output(port.pg9,1)




/usr/bin/env python


来自pya13som import i2c

i2c.open(0x55)从设备地址为0x55

aa
i2c.write([0xaa,0x10,0x11,0x12])使用起始地址0xaa进行连续写入

在0xAA寄存器
值=I2C时,读取(1)开始地址为0xAA的1字节




/usr/bin/env python

from pya13som import spi


spi.open("/dev/spidev2.0")
("/dev/spi dev 2.0",mode=1)
spi.open("/dev/spidev2.0",mode=2,delay=0)
spi.open("/dev/spidev2.0",mode=3,delay=0,bits_per_word=8)
spi.open("/dev/spidev2.0",mode=0,delay=0,bits_per_word=8,speed=100000)

spi.write([0x01,0x02])向从设备写入2个字节
spi.read(2)从从属设备读取2个字节
spi.xfer([0x01,0x02],2)写入2个字节,然后读取2个字节。


spi.close()关闭spi总线







changelog
==
*pya13som 0.2.1(2015年6月30日)
*spi xfer函数的固定问题

*pya13som 0.2.0(2014年9月2日)
*更新以启用spi和i2c控制
*在单独模块中的gpio常数
*添加示例文件
*增加了对python3的支持

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用从PreparedStatement返回的RowId。getGeneratedKeys()?   selenium chrome驱动程序中下一个网站url的java空白页   java如何将参数化匿名类转换为lambda?   java JUnit在AfterClass上获取测试结果   java将动态XML/JSON内容与静态标记化负载进行比较,并检索标记值   java共享一个需要数据持久性的项目[数据库]   java在调用方法时获取意外的参数类型。getParameterTypes()   java如何用jdbc在swing中用另一个字段替换外键?   需要java Jersey Tomcat CDI依赖项解释   java如何生成UML图   java如何编写Jersey rest服务可以通过给定的spring代码访问   SpringMaven存储库管理器Nexus与Java依赖项的Artifactory   java将包从另一个项目导入eclipse中的当前项目   加密Java使用密码加密文件