Moin Moin.
Bin gerade mal wieder dabei einen SPI Baustein zum reden zu bringen.
Das reden, hat er schon gelernt. Das schreiben mag er noch nicht.
Im Datenblatt steht das ein Kommando oder Frame immer mindestens 4 Bytes lang ist..
lese_adresse, schreib_adresse, data_byte_1, data_byte_2
Also wie beschrieben, Funktioniert das lesen.
Das ist meine schreib Funktion..
CodeBox C
Achso..
Arbeiten tu ich im SPI Mode 3!
Hier das Datenblatt
www.st.com/resource/en/datasheet/stpm34.pdf
Bin gerade mal wieder dabei einen SPI Baustein zum reden zu bringen.
Das reden, hat er schon gelernt. Das schreiben mag er noch nicht.
Im Datenblatt steht das ein Kommando oder Frame immer mindestens 4 Bytes lang ist..
lese_adresse, schreib_adresse, data_byte_1, data_byte_2
Also wie beschrieben, Funktioniert das lesen.
Das ist meine schreib Funktion..
CodeBox C
void stpm32x_write(uint8_t addr, uint32_t cmd){ spi_select_low(); spi_usartx_tx_rx(0xff); // Previously requested data byte LSB spi_usartx_tx_rx(addr); // Previously requested data byte 2 out of 4 spi_usartx_tx_rx((cmd & 0x00FF0000)>>16); // Previously requested data byte 3 out of 4 spi_usartx_tx_rx((cmd & 0xFF000000)>>24); // Previously requested data byte MSB spi_select_high(); _delay_ms(50); spi_select_low(); spi_usartx_tx_rx(0xff); // Previously requested data byte LSB spi_usartx_tx_rx(addr+1); // Previously requested data byte 2 out of 4 spi_usartx_tx_rx((cmd & 0x0000FF00)>>8); // Previously requested data byte 3 out of 4 spi_usartx_tx_rx((cmd & 0x000000FF) ); // Previously requested data byte MSB spi_select_high(); }
Achso..
Arbeiten tu ich im SPI Mode 3!
Hier das Datenblatt
www.st.com/resource/en/datasheet/stpm34.pdf
Zuletzt bearbeitet: