Forum: Mikrocontroller und Digitale Elektronik Fehler in AVR Tutorial ?


von Carsten (Gast)


Lesenswert?

Hallo Forum...
Ich habe mal versucht das AVR-Tutorial 7 (Speicher) nach zu
vollziehen.
Beim Projekt-kompilieren bekomme ich immer Warnungen:

.cseg .db misalignment - padding zero byte

Die fehlerhafte Zeile lautet:

.db  "Test", 0

woher kommt dieser Fehler ?

von Carsten (Gast)


Lesenswert?

Hier sind alle meine verwendeten Texte:

Text1:
  .db  "Test", 0
Text11:
  .db  "Pumpe_1_Druckabfall", 0


Text2:
  .db "Pumpe 1 Spannungsausfall", 0
Text12:
  .db "Pumpe_1_Spannungsausfall", 0


Text3:
  .db "Reserve Text 3", 0
Text13:
  .db "Reserve_Text 3", 0

Witzigerweise werden nur die Texte 1,2,12,3 und 13 angemeckert.

Bin ratlos...

von Chris (Gast)


Lesenswert?

Der Flashspeicher ist in 16-Bit-Worten organisiert, mit .db definierst
du aber 8-Bit-Bytes.
Daher meckert der Compiler, wenn er eine ungerade Anzahl Bytes
vorfindet. Er kann schließlich keine "halben" Wörter abspeichern und
weiß nicht, womit er das letzte auffüllen soll.

Abhilfe: Bei .db darauf achten, eine gerade Anzahl Bytes anzugeben.

von Carsten (Gast)


Lesenswert?

Danke...
die Warnung scheint auf die Funktion allerdings keine Auswirkung zu
haben.
Hab jetzt einfach ein Leerzeichen angehängt :-)

von Chris (Gast)


Lesenswert?

> Hab jetzt einfach ein Leerzeichen angehängt :-)

Du könntest auch ein weiteres Nullzeichen nehmen, dann muss deine
Anzeige-Routine ein Zeichen weniger abarbeiten.

von Carsten (Gast)


Lesenswert?

guter Tipp

von ...HanneS... (Gast)


Lesenswert?

Wobei der Assembler die Null selber dranhängt, was er in seiner Warnung
auch mitteilt.

Aber mitgezählt ist immer besser.

...

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.