-         

Ergebnis 1 bis 2 von 2

Thema: ATmega 48 und der Versuch ISC01 und ISC11 zu setzen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.02.2005
    Beiträge
    114

    ATmega 48 und der Versuch ISC01 und ISC11 zu setzen

    Anzeige

    Ich programmiere (zum ersten Mal) einen ATmega 48, mein Problem ist das bei dem Befehl

    [highlight=red:4abd322277]OUT EICRA, Zwischenspeicher[/highlight:4abd322277]

    Den Fehler "boot.asm(44): error: Operand 1 out of range: 0x69" bekomme.
    Muss man da irgendwas mit [highlight=red:4abd322277]STS[/highlight:4abd322277] machen?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    24.02.2006
    Ort
    3. Planet eines kleinen Sonnensystems in einem Seitenarm der Milchstraße
    Alter
    63
    Beiträge
    622
    Hallo,

    das ist korrekt. EICRA muss "memory mapped" (LDS, STS) angesprochen werden wie alle SFRs, die sich in der Liste am Ende des Datenblattes oberhalb der dicken horizontalen Linie befinden.

    Fußnote aus dem ATmega48-Datenblatt zu den SFRs: When using the I/O specific commands IN and OUT, the I/O addresses 0x00 - 0x3F must be used. When addressing I/O
    Registers as data space using LD and ST instructions, 0x20 must be added to these addresses. The ATmega48/88/168 is a
    complex microcontroller with more peripheral units than can be supported within the 64 location reserved in Opcode for the
    IN and OUT instructions. For the Extended I/O space from 0x60 - 0xFF in SRAM, only the ST/STS/STD and LD/LDS/LDD
    instructions can be used.


    Gruß

    Fred

    Editiert: Tippfehler beseitigt; Datenblattzitat hinzugefügt..
    Only entropy comes easy. - Anton Checkhov

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •