Gast
#1708565
Hallo, ich habe ein kleines Organisationsproblem bzw fehlt mir Verständnis um folgende Idee umzusetzen: In meinem C-Programm habe ich ein Array angelegt mit 80 Zellen á 16 Bit: uint16_t speicher[80]; angenommen im controller heisst die startadresse 0x00. die Adresse des 1. arrayelementes ist dann 0x00. (es erstreckt sich aber auf 2 8-bit-register, deshalb ist die Adresse des 2. arrayelementes dann 0x02. nun will ich in dem array sowohl 16-bit als auch 32-bit zahlen ablegen. das koennte ich machen, indem ich einem 16bit-arrayelement das high-byte und dann dem nächsten das low-byte zuweise. würde ich danach noch eine 16bitzahl ablegen wollen, würde ich das 3. arrayelement beschreiben. die zuordnung meiner datentypen ist fest: die ersten 10 werte sind 32bit, die nächsten 20 16bit. nun ist meine frage, ob es möglich wäre, vielleicht mit pointern folgendes zu veranstalten: uint32_t messwert0 soll auf arrayelement speicher[0] und speicher[1] zeigen. uint32_t messwert1 soll auf arrayelement speicher[2] und speicher[3] zeigen. ... uint16_t messwert11 soll auf arrayelement speicher[22] zeigen uint16_t messwert11 soll auf arrayelement speicher[23] zeigen ... also im prinzip will ich auf verschiedene weisen auf die speicherzellen zugreifen. ich koennte mir vorstellen, dass das irgendwie mit pointern geht, aber dann muss ich ja in jedem die adresse speichern, was ja auch wieder speicherplatz verbraucht, oder? mhm, irgendwie komme ich nicht ganz klar damit, ich hoffe, ihr versteht, was ich meine ... und koennt mir helfen. vielen Dank schonmal Franz