Gast
#4607473
Hallo,
ich hab eine Funktion, der ich einen Zeiger übergebe!
"DeviceID"
nun möchte ich, dass die Werte, die im uint8_t Array "Receive_buf"
stehen, an die Adresse des Zeigers "DeviceID"
geschrieben werden,
dabei sollen oberes und unteres Byte miteinander vertauscht werden!!!
Das hier tut's leider nicht!!
Die letzte Zuweisung klappt nicht!
Steht immer 0 drin?!
void Function(uint16_t *DeviceID)
{
static uint8_t PtrReg[2];
static uint8_t Receive_buf[2]; // 2 bytes are going to be received!
static uint8_t DeviceID8_0;
static uint8_t DeviceID8_1;
PtrReg[0]= 0xFF;
GetData(PtrReg, Receive_buf, 1, 2);
DeviceID8_0 = Receive_buf[1];
DeviceID8_1 = Receive_buf[0];
DeviceID = ((uint16_t) DeviceID8_1 << 8 | DeviceID8_0);
}