控制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的支持
这是为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
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的支持