Forum: Mikrocontroller und Digitale Elektronik Registeradresse


von Xion (Gast)


Lesenswert?

Hallo Leute,
Ich will die *.inc datei nicht einbinden, z.B. statt INT0addr nehme ich
die adresse 0x001 für External Interrupt0 Vector Address, die Frage ist
wie siehts denn bei Registeren aus? z.B. TIMSK hat ja die adresse 0x39
  , wie siehts aber mit den einzelnen register aus z.B. OCIE1A 4
Register,
Kann mir jemand Bitte die Adressen Organisation erklären.
Danke

von SiO2 (Gast)


Lesenswert?

siehe datenblatt

von Xion (Gast)


Lesenswert?

ja das sehe ich auch da steht bloss eine Adresse, ich hab zimlich alles
geschaut.

von Xion (Gast)


Lesenswert?

wenn du irgend etwas weisst hier damit! Danke!

von Jan (Gast)


Lesenswert?

Im atmega8 beispielsweise ist OCIE1A hier zu finden:
Bit 4 im Register TIMSK, also an Adresse 0x39.
Das findest du im Datenblatt in der großen tabelle auf Seite 282.
Viel Logik bei der Vergabe der Adressen wirst du aber eher vergeblich
suchen.

von Läubi (Gast)


Lesenswert?

Mal ne Frage... warum willst du die inc Datei nicht verwenden??

von Xion (Gast)


Lesenswert?

Das weiss ich doch welche Adresse hat nun der Register OCIE1A 0x39 ist
ja für die ganze register wie oder gib mal eine klein Assembler
Beispiel
oder besser wie mach ich das wenn du mir einbißchen erklären würdest

von Jan (Gast)


Lesenswert?

du kannst das eine Bit nicht einzeln ansprechen. Wenn du nur das Bit
ändern willst, musst du das komplette Bit laden:

in temp,0x39

das Bit setzen:

sbr temp,4

und wieder zurückspeichern:

out 0x39,temp


temp musst du dann natürlich auch noch durch eine Registernummer
ersetzen...
Mit den vorgegebenen Registernamen wird's aber extrem übersichtlicher

von Xion (Gast)


Lesenswert?

Danke Danke das wollte ich

von Jan (Gast)


Lesenswert?

Dann sag das doch... Deine Frage war leider nicht ganz klar formuliert.
OCIE1A ist kein Register, sondern ein Bit in einem Register! Mit
Register ist das komplette 8bit breite Byte gemeint.

von Xion (Gast)


Lesenswert?

Vilen Vielen Dank. Sorry!!!!!!!

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
Noch kein Account? Hier anmelden.