Moin, meine letzte Frage zum ATMEGA16m1 konnte mir gut beantwortet werden, daher kommt hier direkt die nächste - und vermutlich kniffeligere - Frage. Der Mega16m1 arbeitet im CAN-Bereich ja mit diesen "MessageObjects". Das aktuelle Object wird über das "CANPAGE"-Register aufgerufen. Ich würde der Übersichtlichkeit halber gern versuchen das alles in ein Struct zu quetschen. Daher stellt sich mir als erstes die Frage, ob es die Möglichkeit gibt, dass jedes mal, wenn ein Struct - nennen wir es mal x - ein Makro ausgefürt wird, welches dann über das Register "CANPAGE" das entsprechende MessageObject aufruft. Klingt recht komplex in meinen Augen. Eventuell wäre ja vielleicht auch eine Alternative drin? Ich denke da an sowas wie "CANPAGE" aufrufen und sich die ganzen Adressen von den Registern darin speichern. Meine Vermutung geht dahin, dass die Register eines MessageObjects auch nur Zeiger sind, die beim verändern des "CANPAGE"-Registers umgebogen werden. Daher müsste es doch theoretisch möglich sein, die Absoluten Adressen der Register abzuspeichern und diese dann direkt anzusprechen? Oder ist das PfuiPfui? Gruß Nils
Meine Vermutung geht dahin das du nicht weisst was ein struct ist. Aber sicher kann ich mir da nicht sein. Olaf
Ich werde aus deiner Frage auch nicht so ganz schlau. Aber, Man kann die Adresse von Registern als Pointer in einer Struct ablegen. Und über diesen Pointer auf das Register zugreifen. Man kann aber auch einen Funktionspointer in einer Structur ablegen. Diese Funktion kann dann über den hinterlegten Pointer aufgerufen werden. Ich nehme mal an das eine der beiden Varianten das ist was du suchst.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.