Gast
#3748031
ich quäle mich mit stm. ich habe einen enc38j60 am stm32f429-board. Schreiben ins DR-Register funktioniert mit: spiENC->DR = value; Nach meinem Verständnis müsste ich jetzt das SR abfragen bis TXE==1 ist: while (!(spiENC->SR & SPI_I2S_FLAG_TXE));//not ok das klappt jedoch nicht. Anscheinend korrekte Ergebnisse bekomme ich nur mit while (SPI_I2S_GetFlagStatus(spiENC, SPI_I2S_FLAG_BSY));//ok Direkte ABfrage bsy klappt auch nicht: // while ((spiENC->SR & SPI_I2S_FLAG_BSY));//not ok auch // while (SPI_I2S_GetFlagStatus(spiENC, SPI_I2S_FLAG_TXE) == RESET); liefert ein anderes Ergebnis. Kann mir jemand die STM-Systematik erklären, warum ich das SR-Register nicht direkt abfragen kann, sondern die merkwürdige Funktion SPI_I2S_GetFlagStatus benutzen muss?