Hallo, Ich besitze einen 8051 uC den würde ich gerne unter C programmieren. bisher hab ich die Adresse des Registers immer mit der Variable: TMOD = 0x01; angesprochen Nun hab ich gehört, dass man den Controller in C direkt unter seiner Adresse ansprechen kann. Im Datenblatt steht folgendes: TMOD (Timer/Counter-Mode-Register) Adresse:89H Kann mir jemand sagen wie man das macht? Danke im voraus
GUIler schrieb: > *((volatile unsigned char *)(0x89)) = 0x01; und die Chancen stehen gut, dass sich in deiner ersten Version hinter TMOD nichts anderes versteckt als #define TMOD *((volatile unsigned char *)(0x89)) mit anderen Worten TMOD = 0x01; und *((volatile unsigned char *)(0x89)) = 0x01; laufen letzten Endes für den Compiler auf exakt das Gleiche hinaus. Nur das im ersten Fall die Schreibweise kürzer, prägnanter, besser lesbar, leichter mit dem Datenblatt abgleichbar, .... ist. Es gibt also keinen Grund die zweite Version (die nur die in der Schreibweise aufgelöste 1. Version ist) zu verwenden.
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.