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
ja das sehe ich auch da steht bloss eine Adresse, ich hab zimlich alles geschaut.
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.
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
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
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.
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.