通过spidev访问linux spi的python绑定
spidev的Python项目详细描述
python spidev
==
此项目包含一个python模块,用于通过spidev linux内核驱动程序从用户空间与spi设备进行接口。
除非另有明确说明,否则所有代码都是mit许可的。
usage
----
``python
import spidev
spi=spidev.spidev()
spi.open(总线,设备)
to_send=[0x01,0x02,0x03]
spi.xfer(to_send)
```
``python
`` python
import spidev
spi=spidev.spidev()
spi.spi.spi.spi.spi.open(总线、设备)
spi设置(例如)
spi spi.spi.max_-speed_-hz=5000
spi
spi spi.mode=0b01
…
```
*`每字位数`
*`cshigh`
*`loop`-集启用环回模式的“spi_loop”标志
*`no_cs`-将“spi_no_cs”标志设置为禁用芯片选择(尽管驱动程序可能仍然拥有cs管脚)
*`lsbfirst`
*`max_speed_hz`
*`mode`-spi模式作为时钟极性和相位的两位模式[cpol cpha],min:0b00=0,max:0b11=3
*`threewire`-si/so信号共享
方法
----
open(总线、设备)
连接到指定的spi设备,打开`/dev/spidev<;总线>;<;设备>;`
read bytes(n)
read n bytes from spi device.
将值列表写入spi device.
writebytes 2(值列表)
类似于“writebytes”,但接受任意大列表。
如果列表大小超过缓冲区大小(从中读取`/sys/module/spidev/parameters/bufsiz`),
数据将被分割成更小的块,并以多个操作发送。
` writebytes 2 `理解[缓冲区协议](https://docs.python.org/3/c-api/buffer.html)
因此它可以接受例如numpy字节数组,而无需首先使用'to list()'对它们进行转换。
在需要将帧传输到spi连接的显示器(例如)时,这提供了更好的性能。
xfer(值列表[,speed_hz、delay_usec、bits_per_word)执行spi事务。应释放芯片选择并在块之间重新激活。
delay指定块之间usec中的延迟。
xfer2(值列表[,速度赫兹,延迟usec,每字位数])
芯片选择应该在两个块之间保持活动状态。
xfer3(值列表[,speed_Hz,delay_Usec,bits_Per_Word3])
操作。
close()
断开与SPI设备的连接。
--
>3.4
===
*将许可证更改为MIT
<3.0.1
==
*固定的readme.md和changelog.md格式,希望
3.0
==
*Dougie Lawson推荐的memset补丁
*内核3.15+的补丁来自https://github.com/chrillomat/py spidev
*python 3/2兼容性的补丁。
*添加了子类支持-https://github.com/doceme/py spidev/issues/10
<2.0
==
http://elk.informatik.fh augsburg.de/da/da-49/trees/pyap7k/lang/py spi
并对其进行了修改。
pre 2.0
===
to spi 列表 linux open max speed 总线 hz spidev
==
此项目包含一个python模块,用于通过spidev linux内核驱动程序从用户空间与spi设备进行接口。
除非另有明确说明,否则所有代码都是mit许可的。
usage
----
``python
import spidev
spi=spidev.spidev()
spi.open(总线,设备)
to_send=[0x01,0x02,0x03]
spi.xfer(to_send)
```
``python
`` python
import spidev
spi=spidev.spidev()
spi.spi.spi.spi.spi.open(总线、设备)
spi设置(例如)
spi spi.spi.max_-speed_-hz=5000
spi
spi spi.mode=0b01
…
```
*`每字位数`
*`cshigh`
*`loop`-集启用环回模式的“spi_loop”标志
*`no_cs`-将“spi_no_cs”标志设置为禁用芯片选择(尽管驱动程序可能仍然拥有cs管脚)
*`lsbfirst`
*`max_speed_hz`
*`mode`-spi模式作为时钟极性和相位的两位模式[cpol cpha],min:0b00=0,max:0b11=3
*`threewire`-si/so信号共享
方法
----
open(总线、设备)
连接到指定的spi设备,打开`/dev/spidev<;总线>;<;设备>;`
read bytes(n)
read n bytes from spi device.
将值列表写入spi device.
writebytes 2(值列表)
类似于“writebytes”,但接受任意大列表。
如果列表大小超过缓冲区大小(从中读取`/sys/module/spidev/parameters/bufsiz`),
数据将被分割成更小的块,并以多个操作发送。
` writebytes 2 `理解[缓冲区协议](https://docs.python.org/3/c-api/buffer.html)
因此它可以接受例如numpy字节数组,而无需首先使用'to list()'对它们进行转换。
在需要将帧传输到spi连接的显示器(例如)时,这提供了更好的性能。
xfer(值列表[,speed_hz、delay_usec、bits_per_word)执行spi事务。应释放芯片选择并在块之间重新激活。
delay指定块之间usec中的延迟。
xfer2(值列表[,速度赫兹,延迟usec,每字位数])
芯片选择应该在两个块之间保持活动状态。
xfer3(值列表[,speed_Hz,delay_Usec,bits_Per_Word3])
操作。
close()
断开与SPI设备的连接。
>3.4
===
*将许可证更改为MIT
<3.0.1
==
*固定的readme.md和changelog.md格式,希望
3.0
==
*Dougie Lawson推荐的memset补丁
*内核3.15+的补丁来自https://github.com/chrillomat/py spidev
*python 3/2兼容性的补丁。
*添加了子类支持-https://github.com/doceme/py spidev/issues/10
<2.0
==
http://elk.informatik.fh augsburg.de/da/da-49/trees/pyap7k/lang/py spi
并对其进行了修改。
pre 2.0
===
标签: