Python ioError: [Errno 90] Nachricht zu lang, über die Long -Liste an die SPI -Funktion übergebenPython

Python-Programme
Anonymous
 Python ioError: [Errno 90] Nachricht zu lang, über die Long -Liste an die SPI -Funktion übergeben

Post by Anonymous »

Ich programmiere meinen A13-Olinuxino-Micro mit dem bereitgestellten PYA13 0.2.2 SPI-Treiber, um Daten an eine LCD zu senden. Idealerweise möchte ich eine Liste mit 320*240*2 (320*240 Pixel 16 Bit pro Farbe) Bytes senden, die in einem kontinuierlichen Befehl geschrieben werden sollen, um die Geschwindigkeit effizient zu sein. Die Treiber in spi.c und spi_lib.c hatten ein 8bit tx_len, das mich auf 256 Bytes beschränkte, daher habe ich sie auf 32bit geändert, aber jetzt erhalte ich einen Fehler, wenn ich versuche, eine Liste zu übergeben, die mehr als 4096 Werte in meiner SPI.Write -Funktion (Daten [:]) übergeben. Unten ist der Code, den ich verwende, um den Bildschirm mit einer festen Farbe zu füllen, die 16 Bit beträgt: < /p>

def FillScreen(c):
LCD_SetPos(0, 0, 239, 319)
ch = c>>8 & 0x00FF
cl = c & 0x00FF
d =[]
for x in range (0,76800):
d += [ch, cl]
spi.write(d[:])
< /code>

Dies ist der Fehler, den ich erhalte, wenn ich die Funktion ausführe: < /p>

Traceback (most recent call last):
File "lcd.py", line 205, in
FillScreen(0x00FF)
File "lcd.py", line 200, in FillScreen
spi.write(d[:])
IOError: [Errno 90] Message too long
< /code>

Das Codestück, das mir diesen Fehler gibt, ist in spi.c < /p>

enthalten/* Send data */
if(spi_write(fd, tx_buffer, tx_len) < 0){
return PyErr_SetFromErrno(PyExc_IOError);
}
< /code>

Gibt es eine Möglichkeit, eine längere Nachricht an die SPI.Write -Funktion weiterzugeben? Ich bin sehr neu in Python, aber mit C sehr wohl. Gehen Sie bitte meinen Code. Bitte ... Außerdem habe ich versucht, kleinere Nachrichten zu schleifen, um den Bildschirm zu füllen, aber das dauert zu lange. Jede Hilfe wäre geschätzt. < /P>

Danke,
Michael < /p>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post