通过spidev在Linux中访问SPI的Python绑定
项目描述
Python Spidev
本项目包含一个用户空间通过spidev Linux内核驱动程序与SPI设备交互的Python模块。
除非明确声明,所有代码均为MIT许可。
使用方法
import spidev
spi = spidev.SpiDev()
spi.open(bus, device)
to_send = [0x01, 0x02, 0x03]
spi.xfer(to_send)
设置
import spidev
spi = spidev.SpiDev()
spi.open(bus, device)
# Settings (for example)
spi.max_speed_hz = 5000
spi.mode = 0b01
...
bits_per_word
cshigh
loop
- 设置“SPI_LOOP”标志以启用回环模式no_cs
- 设置“SPI_NO_CS”标志以禁用芯片选择(尽管驱动程序可能仍然拥有CS引脚)lsbfirst
max_speed_hz
mode
- SPI模式,为时钟极性和相位的两位模式[CPOL|CPHA],最小:0b00 = 0,最大:0b11 = 3threewire
- SI/SO信号共享read0
- 如果cshigh == True,则在传输后从低CS读取0个字节
方法
open(bus, device)
连接到指定的SPI设备,打开/dev/spidev<bus>.<device>
readbytes(n)
从SPI设备读取n个字节。
writebytes(list of values)
将值列表写入SPI设备。
writebytes2(list of values)
与writebytes
类似,但接受任意大小的列表。如果列表大小超过缓冲区大小(从/sys/module/spidev/parameters/bufsiz
读取),数据将被分割成更小的块并在多个操作中发送。
此外,writebytes2
理解缓冲区协议,因此它可以接受numpy字节数组等,无需先使用tolist()
进行转换。这提供了更好的性能,例如在需要将帧传输到连接的SPI显示器时。
xfer(list of values[, speed_hz, delay_usec, bits_per_word])
执行SPI事务。芯片选择应在块之间释放并重新激活。延迟指定块之间的延迟(微秒)。
xfer2(list of values[, speed_hz, delay_usec, bits_per_word])
执行SPI事务。芯片选择应在块之间保持激活状态。
xfer3(list of values[, speed_hz, delay_usec, bits_per_word])
与xfer2
类似,但接受任意大小的列表。如果列表大小超过缓冲区大小(从/sys/module/spidev/parameters/bufsiz
读取),数据将被分割成更小的块并在多个操作中发送。
close()
从SPI设备断开连接。
变更日志
3.6
- 添加了read0标志,以在cshigh == True时在传输后从CS降低0个字节进行读取
3.5
- 修复了内存泄漏
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并进行修改。
2.0之前
spimodule.c最初由Volker Thoms于2009年编写。
项目详情
下载文件
为您的平台下载文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码发行版
spidev-3.6.tar.gz (11.9 kB 查看哈希)
构建分发版
spidev-3.6-cp39-cp39-linux_armv7l.whl (40.0 kB 查看哈希)
关闭
spidev-3.6.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 14dbc37594a4aaef85403ab617985d3c3ef464d62bc9b769ef552db53701115b |
|
MD5 | 83a73279d6e823a9030c4315577bfae3 |
|
BLAKE2b-256 | c7d9401c0a7be089e02826cf2c201f489876b601f15be100fe391ef9c2faed83 |
关闭
spidev-3.6-cp39-cp39-linux_armv7l.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 280abc00a1ef7780ef62c3f294f52a2527b6c47d8c269fea98664970bcaf6da5 |
|
MD5 | e5b17670981a7fb3d5e8573f88ec2cfb |
|
BLAKE2b-256 | 287348c2f27691b95dc7eff2263e92e62522b2f034186be5ecc294087b3d38aa |