![]() |
|
|
|||||||
| Portal | Wiki | IRC-Chat | Registrieren | Benutzerliste | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
|
|
Themen-Optionen | Thema bewerten | Ansicht |
|
|
#1 |
|
Profifragensteller
|
Moin!
Ich implementiere gerade eine Stuerung für einen Motor und in der Spezifikation des Motorprotokolls gibt es in einem Telegramm immer wieder Bytes, die ungenutzt sind. Nun möchte ich gern ein struct aufbauen, dass die Struktur dieses Protokolls umfasst. Das sieht dann etwas so aus: Code:
Vielen Dank für jede Idee, Herakles |
|
|
|
|
|
#2 |
|
Bicycle User
Registrierungsdatum: Aug 2004
Ort: nuernberg
Beiträge: 2.533
|
meistens heissen die dinger nicht "unbenutzt" sondern "rfu" oder so etwas.
aber ehrlich gesagt sieht es fuer mich so aus als ob "identifikation" und "modus" einfach 16 bit werte sind. little endian.
__________________
Computer science is not about using a computer. It is about unleashing its powers. |
|
|
|
|
|
#3 |
|
rm -rf /*
Registrierungsdatum: Jun 2008
Ort: Bremen
Beiträge: 1.079
|
Dir ist bekannt das man auch Arrays in in Structs einbetten kann oder?
|
|
|
|
|
|
#4 |
|
Profifragensteller
|
Klar ist mir das bekannt, nur wie Du siehst, sind das keine zusammenhängenden "Platzhalter"... Von daher passt an der Stelle nicht wirklich in Array. Die einzelnen Bytes möchte ich nicht gern in ein einziges Array packen, weil ich nicht via Index zugreifen möchte, sondern schon im struct mit Namen arbeiten will.
Naja... |
|
|
|
|
|
#5 |
|
rm -rf /*
Registrierungsdatum: Jun 2008
Ort: Bremen
Beiträge: 1.079
|
Wenn du wirklich ungenutzte Felder in deinen Structs hast bleiben sie dennoch Elemente deines Structs und müssen deklariert werden. Außer hässlichen macros die __LINE__ und ## benutzen fällt mir da nix ein das weniger zu Tippen wäre.
|
|
|
|
|
|
#6 |
|
Parasprite
|
Du kannst einfach nur den Typ Deklarieren, ohne einen Namen zu vergeben. Oder nenne die Dinger reserved_n.
__________________
[ bsdlogo 2.0 - Wiki - Ports - LibreOffice Pakete - PM schreiben - kamikaze@bsdforen.de ]
Disclaimer: My posts represent my perception. Errors and incompleteness are to be expected, I deny any responsibility to know everything. |
|
|
|
|
|
#7 |
|
Registered User
Registrierungsdatum: Apr 2004
Beiträge: 267
|
|
|
|
|
|
|
#8 |
|
rm -rf /*
Registrierungsdatum: Jun 2008
Ort: Bremen
Beiträge: 1.079
|
Code:
|
|
|
|
|
|
#9 |
|
Possessed With Psi Powers
|
Ich sollte dich schlagen.
__________________
Eure Tastatur verfügt nicht umsonst über zwei Shift-Tasten! Benutzt sie bitte, denn sonst ist es mir fast unmöglich euere Posts zu entziffern. Homepage: http://www.yamagi.org | Yamagi Quake II: http://www.yamagi.org/quake2
|
|
|
|
|
|
#10 | |
|
Moderators
Registrierungsdatum: Sep 2009
Beiträge: 871
|
Zitat:
|
|
|
|
|
|
|
#11 |
|
Profifragensteller
|
Also gut - meine Quintessenz aus diesem Thread ist: Es gibt keine eingehende, auf der Hand liegende Lösung, die das löst, was ich angedacht hatte. Im Grunde genommen wollte ich mich auch nur versichern, dass es nicht eine Möglichkeit gibt, die ich gerade übersehen hatte.
In dem Sinne ist also alles gut. Danke für Eure Tipps und Gedanken zum Thema! Herakles |
|
|
|
|
|
#12 | |
|
Rainbow Six
|
Zitat:
![]() ![]()
__________________
Core2Quad Q6600@2.4GHz 8192 MB RAM FreeBSD9.1-RC1/amd64 (PC-BSD) |
|
|
|
|
|
|
#13 | |
|
Registered User
Registrierungsdatum: May 2007
Beiträge: 574
|
Zitat:
![]()
__________________
Never argue with idiots. They’ll pull you down to their level and then beat you with experience. echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc |
|
|
|
|
|
|
#14 |
|
Rainbow Six
|
Das hat er aus dem Pulseaudio Code
![]()
__________________
Core2Quad Q6600@2.4GHz 8192 MB RAM FreeBSD9.1-RC1/amd64 (PC-BSD) |
|
|
|
|
|
#15 |
|
rm -rf /*
Registrierungsdatum: Jun 2008
Ort: Bremen
Beiträge: 1.079
|
Nein diese Perversion habe ich so noch nirgendwo gesehen. Allerdings habe ich nur sehr kleine Ausschnitte des Linuxkernels gelesen und in den PulseAudio Code musste ich zum glück noch nie einen Blick werfen. Ich habe gesehen das es Redundanz gibt in den Deklarationen diese in einem Marco versteckt. Um die Namen eindeutig zu halten habe ich noch __LINE__ benutzt und ## um die Tokens zu verketten. Dieses Gebilde fand ich allerdings so widerlich das ich es eigentlich nicht Posten wollte. Nun hörte Herakles nicht auf zu fragen also bekam er was er wollte.
|
|
|
|
![]() |
| Dieses Thema betrachten zurzeit 1 Personen. (0 registrierte Benutzer und 1 Gäste) | |
| Themen-Optionen | |
| Ansicht | Thema bewerten |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| [C] static struct initialisieren | Herakles | Programmieren | 9 | 18.11.2011 09:24 |
| [AVR32 & C]Startadresse von struct weicht ab | Herakles | Programmieren | 15 | 06.11.2011 10:05 |
| Verstaendnissfrage bzgl. dynam. Speicherallozierung im Hinblik auf Kernelprogrammieru | das.chaos | Programmieren | 3 | 15.10.2010 18:48 |
| lint und Includes | Kamikaze | Programmieren | 8 | 28.04.2008 20:14 |
| neue Intel-Grafik-Chips und FreeBSD | soul_rebel | FreeBSD - Allgemein | 19 | 23.01.2007 19:40 |