Hallo,
Zum Senden verwende ich folgendes Konstrukt:
struct spi_ioc_transfer xfer; xfer.tx_buf = (unsigned long)buffer; xfer.len = len; xfer.rx_buf = 0; xfer.delay_usecs = 0; xfer.speed_hz = 100000; xfer.bits_per_word = 8; int status = ioctl(fileno(file), SPI_IOC_MESSAGE(1), &xfer);
SPISend(0x39, 0x14, 0x55, 0x6D, 0x78, 0x38, 0x0C, 0x01, 0x06);
Um in die zweite Zeile zu kommen folgt ein:
SPISend(192);
Gefolgt von den Zeichen als Bytes mit "RS" auf "High".
Das Problem ist nun, dass ich nicht in die zweite Zeile komme.
Es reicht bereits wenn ich ein "printf" nach das "Init" setze und schon komme ich in die zweite Zeile. Ganz offensichtlich also ein Timing-Problem.
Scheinbar muss ich nach dem Senden des Init etwas warten bis wieder Befehle angenommen werden. Eigentlich habe ich erwartet, dass dieser ioctl-Aufruf solange blockiert bis die Befehle alle raus sind.
Danke im Voraus
Manuel