Код: Выделить всё
OSError: [Errno 22] Invalid argument
Я перезагрузил устройство, ошибка исчезла, но вернулась после еще нескольких запусков программы. Теперь, похоже, это навсегда (несмотря на перезапуски). Это также происходит с xfer2, write_bytes и другими
Изменить: это связано с настройкой bits_per_word. Когда я устанавливаю меньшее значение, проблема исчезает
Код: Выделить всё
import spidev
if __name__ == "__main__":
spi: spidev.SpiDev = spidev.SpiDev()
spi.close() # My attempt to "clean up" any past runs that could be leaving the device open/reserved/blocked
spi.open(1, 2)
spi.max_speed_hz = 500_000_000
spi.mode = 0b01 # Clock is normally low. Data sampled on falling edge
spi.bits_per_word = 24
spi.lsbfirst = False
print(spi.xfer([38,1]))
spi.close()
print("success")
Код: Выделить всё
Traceback (most recent call last):
File "/path/to/file/file.py", line 89, in
print(spi.xfer([38,1]))
^^^^^^^^^^^^^^^^
OSError: [Errno 22] Invalid argument
Raspberry Pi 5, подключенный к DACx3202 по SPI1.2. Оверлей spi1-3cs включен в config.txt и работал ранее.
Python версии 3.11.2
Debian GNU/ Linux 12 (книжный червь)
Я обнаружил несколько старых проблем 2015 года, но в последнее время ничего не было, и я не могу объяснить, почему проблема исчезла после перезагрузки, но вернулась позже.
Подробнее здесь: https://stackoverflow.com/questions/792 ... d-argument