【问题标题】:OpwenWrt - reading byte from SPI with PythonOpwenWrt - 使用 Python 从 SPI 读取字节
【发布时间】:2018-10-22 10:48:40
【问题描述】:

我想从 spi 总线读取字节。 写一个字节很简单,只需要使用

file = open("/dev/spidev1.0", 'wb')
file.write('#')

我尝试使用 read(1) 命令,但这使得 spi 时钟比仅仅一个字节长。

例子:

file = open("/dev/spidev1.0", 'rb')
file.read(1)

有没有人知道为什么当我尝试读取一个字节时它只计时 8 次?

(顺便说一下,我使用的是 Carambola2 和 spi over gpio)

【问题讨论】:

  • 您能否提供更多有关您的硬件及其配置的详细信息?例如。 edaboard.com/… 建议可以将 GPIO 引脚配置为输入或输出,而不是两者; SPI 设备既可以是主设备,也可以是从设备。
  • 它被配置为master。其实我只是用了命令:insmod spi-gpio-custom bus0=$SPI_DEVICE_NUMBER,$SPI_SCLK,$SPI_MOSI,$SPI_MISO,$SPI_MODE,$SPI_HZ
  • 另外,“使 spi 时钟长于一个字节”是什么意思?如果这意味着read 返回之前的延迟更长,那么程序可能只是在等待任何数据到达?

标签: python gpio spi openwrt


【解决方案1】:

我自己解决了这个问题。 你必须使用 os 库

例子:

import os

file = os.open('filename', os.O_RDWR)

#Write byte 0x1 to SPI Bus
os.write(file, chr(0x1))
#Read one byte from SPI Bus
print(str(ord(os.read(file, 1))))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-19
    • 2023-03-06
    • 1970-01-01
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多