Hallo zusammen
Folgendes Problem:
Ich bekomme per SPI Daten in folgendem Format:
uint32 [Byte3][Byte2][Byte1][Byte0]
Byte3 stellt das höchstwertige Byte des uint32 dar.
Die Bitreihenfolge ist korrekt. Wobei das MSB das linke Bit ist.
Nun habe ich aber folgendes Problem.
Der DMA holt sich die Bytes und speichert diese in einem Array ab:
...
IDX 3: [Byte0]
IDX 2: [Byte1]
IDX 1: [Byte2]
IDX 0: [Byte3]
Nun habe ich das Problem, dass die Bytes verkehrt herum liegen.
Wenn ich das Array wie folgt Caste:
1 | a = *(uint32_t*) &Array[0]
|
Dann bekomme ich einen HexWert für A von: Byte0,1,2,3 also genau
verkehrt herum.
Am besten wäre es, wenn ich dem DMA mitteilen könnte, dass er vo oben
herab die Bytes einfüllen würde. Kann man dies beim STM32F3/4?
Der Chip, welcher die Daten liefert, kann man nicht umkonfigurieren.
Ansonsten, was wäre die schnellste methode, die obigen Daten in einen
uint32_t zu wandeln?
Danke!