Hi! Habe grade folgendes Problem. Um 7-Segmentanzeigen ansteuern zu können habe ich mir im Flash eine Tabelle angelegt: digits: .db 0b11101110 ; 0 .db 0b01100000 ; 1 .db 0b11001101 ; 2 .db 0b11101001 ; 3 .db 0b01100011 ; 4 .db 0b10101011 ; 5 .db 0b10101111 ; 6 .db 0b11100000 ; 7 .db 0b11101111 ; 8 .db 0b11101011 ; 9 Hier meldet mir der Assembler aber für jede Zeile: warning: .cseg .db misalignment - padding zero byte D.h. er hängt an jedes Byte noch eine 0 dran da der Flash ja Wortorganisiert ist. Ja toll, ich möchte aber einfach dass alle Bytes einfach hintereinander stehen, ohne 0en dazwischen. Wenn ich folgende Schreibweise verwende funktioniert es. digits: .db 0b11101110, 0b01100000 .db 0b11001101, 0b11101001 .db 0b01100011, 0b10101011 .db 0b10101111, 0b11100000 .db 0b11101111, 0b11101011 Es funktioniert so zwar aber sieht nicht hübsch aus. Muss ich irgendwo noch was einstellen? mfg Paul H.
Gast
#605407
Was kann der Assembler für die Flash Organisation im AVR? entweder du machst die tabellen einträge gradzahlig oder du lebst mit der fehlermeldung.
Gast
#605414
Hi Wenn du es 'hübsch' haben willst, musst du halt mit dem doppelten Tabellenoffset rechnen. MfG Spess
Man kann es auch richtig hübsch machen, damit es egal ist, wo welches Segment angeschlossen ist. Ich ordne die Pins immer für ein optimales Layout zu und dann trage ich die Zuordnung im Programm ein:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
Peter
ok hab gerade im tutorial den entsprechenden code-teil entdeckt der die wortweise adressierung berücksichtigt. danke. mfg paul h.