STM32 - Alignmentproblem?

OP Persönliche Seite #2375688
Lesenswert?

Hallo,

ich habe ein komisches Problem: Ich nutze einen STM32 um mittels SPI ein 
Display anzusteuern. Das funktionierte soweit ohne Probleme. Als ich 
aber an einem (ganz) anderen Codeteil arbeitete funktionierte das 
Display plötzlich nicht mehr.

Ich konnte das Problem beheben, indem ich vier NOPs eingefügt habe. Füge 
ich sie im Code an beliebiger Stelle (allerdings vor die "Grenzzeile") 
funktioniert es. Füge ich sie im Code nach der Grenzzeile ein, 
funktioniert es nicht.

Dabei ist die Stelle komplett beliebig wählbar, ich habe es anhand des 
Listings ausprobiert.
1
void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data)
2
{
3
  /* Check the parameters */
4
  assert_param(IS_SPI_ALL_PERIPH(SPIx));
5

6
  /* Write in the DR register the data to be sent */
7
  SPIx->DR = Data; // <= Dies ist die magische Grenzzeile
8
}

Jetzt nutze ich das SPI einfach direkt, ohne den Zwischenaufruf der 
Funktion. Der Fehler verwundert mich aber dennoch und ich würde die 
Ursache gerne kennen.


Viele Grüße
Lasse

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren