www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Registeradresse


Autor: Xion (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: SiO2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
siehe datenblatt

Autor: Xion (Gast)
Datum:

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

Autor: Xion (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn du irgend etwas weisst hier damit! Danke!

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Läubi (Gast)
Datum:

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

Autor: Xion (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Xion (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Danke das wollte ich

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Xion (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vilen Vielen Dank. Sorry!!!!!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.