So sieht der Spaß bei mir aus. Läuft hervorragend.
Ist natürlich jetzt die Frage, wie man das ganze umsetzen möchte. Für
die paar SPI-Geräte die ich nur einmal initialisiere, brauche ich
zumindest keine großen Verrenkungen machen.
1 | uint8_t spi_rw(uint8_t byte) {
|
2 | SPI2->DR = byte;
|
3 | while(!(SPI2->SR & SPI_SR_TXE));
|
4 | while(!(SPI2->SR & SPI_SR_RXNE));
|
5 | return SPI2->DR;
|
6 | }
|
Edit: Datenblatt gelesen...
1 | while(SPI2->SR & SPI_SR_BSY);
|
nur zum deaktivieren vom SPI prüfen.
Muss ich jetzt in der Tat nochmal checken.