On 05/08/2017 03:41 PM, Arno Steffens wrote:
Hallo,
ich hab eine kurze Frage zu SPI (embedded).
Ich hab das bisher mit einem ioctl gemacht:
struct spi_ioc_transfer transfer ={
.tx_buf = (unsigned long)(wr_tmp),
.rx_buf = (unsigned long)(rd_tmp),
.len = (width>>3)+1, // 8->2, 16->3, 24->4,
.speed_hz = SPI_SPEED,
.bits_per_word = 8,
};
ret = ioctl(file_spi0, SPI_IOC_MESSAGE(1), &transfer);
if( ret < 1 ){
printf("could not transmit data\n");
}
Jetzt habe ich aber den seltsamen Fall, dass das Gerät eine 9 (!) Bit Adresse hat und 16
bit
Daten hat. Mir ist gar nicht klar wie das gehen soll.
Deine Frage ist nicht verständlich. Was heißt, dass Gerät hat eine 9 Bit
Adresse? Da es bei generischem SPI im Protokoll gar keine Adressen gibt
(anders als z.B. bei i2c), sprichst Du sicher über das
Geräte-spezifische Protokoll. Beschreibe mal eine Nachricht, die Du
schicken willst oder zeige das Datenblatt.
Liebe Grüße
Uwe