IO Adressen in .S file um 0x20 höher als in .CPP

Gast #3257327
Lesenswert?
• ▲
▼
Hallo Forenmitglieder,
Bei meinem Projekt sind die IO Adressen im .S file um 0x20 höher als im 
Datasheet also meistens außer Range. Im .cpp file ist alles normal. Ich 
weiß wirklicht nicht woran das liegen kann.

Kurzes Beispiel:

C_file:
1
#include <avr/io.h>
2

3
extern "C" void SPI_PUT_WORD(uint8_t pword);
4

5
int main(void)
6
{
7
  SPI_PUT_WORD(0x0000);
8
    while(1)
9
    {
10
        //TODO:: Please write your application code 
11
    }
12
}

ASM File:
1
#include <avr/io.h>
2

3
.global SPI_PUT_WORD
4

5
SPI_PUT_WORD:  sbi (PORTB-0x20),4  ;funktioniert
6
                sbi PORTB,4         ;Fehler
7

8
    nop
9
          ret

Könnte mir jemand bitte helfen
Gast #3257334
Lesenswert?
• ▲
▼
Hi

>Bei meinem Projekt sind die IO Adressen im .S file um 0x20 höher als im
>Datasheet also meistens außer Range.

Weil das nicht die IO-Adressen sondern die Speicher-Adressen der 
Register sind. Und die sind 0x20 größer als die IO-Adressen.

MfG Spess
Gast #3257341
Lesenswert?
• ▲
▼
>Woran liegt das jetzt genau?

Spess war schon so freundlich:

>Weil das nicht die IO-Adressen sondern die Speicher-Adressen der
>Register sind. Und die sind 0x20 größer als die IO-Adressen.

Wenn Du das Datenblatt schon vor Dir hast, dann guck noch mal nach.
Gast #3258339
Lesenswert?
• ▲
▼
Entschuldige, ich habe den Post von Spess übersehen. Im Datenblatt sind 
im Register Summary für jedes Register zwei Adressen aufgeführt. D.h. 
die eine ist die Speicheradresse und die andere die IO Adresse.
Vielen Dank für die Hilfe

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.