Gast
#3656766
Hallo miteinander Könnte mir jemand bitte aufzeigen, wie man ein Array mit ATmega8515 erstellt? Ich möchte 8 Ziffern abspeichern. Danke im Voraus Grüsse
|
Anzeige
|
ATmega8515 Array
Gast
#3656766
Hallo miteinander Könnte mir jemand bitte aufzeigen, wie man ein Array mit ATmega8515 erstellt? Ich möchte 8 Ziffern abspeichern. Danke im Voraus Grüsse Muffin schrieb: > Hallo miteinander > > Könnte mir jemand bitte aufzeigen, wie man ein Array mit ATmega8515 > erstellt? Ich möchte 8 Ziffern abspeichern. Das hängt nicht vom Controller hab, sondern von deiner Programmiersprache. Also? Ich tippe jetzt mal ganz frei auf C:
Dami hast du ein Array foo, welches 8 Bytes lang ist. Klar? Was für Ziffern denn? Ganzzahlen? Gleitkomma? Mit oder ohne Vorzeichen?
Gast
#3656805
Es sollte ein Array mit Assembler im Programm AVR Studio V 4 erstellt werden, das 8 Ziffern abspeichern kann. Grüsse
Gast
#3656809
Muffin schrieb: > Es sollte ein Array mit Assembler im Programm AVR Studio V 4 erstellt > werden, das 8 Ziffern abspeichern kann. es gibt so etwas wie Array nicht wirklich in ASM. du kannst dafür 8 Register verwenden, wenn du genug hast. Oder einfach 8bytes aus dem RAM. Anlegen muss man es auch nicht wirklich, die Frage ist wie man rein schreibt oder daraus liest. Peter II schrieb: > Anlegen muss man es auch nicht wirklich, sagen wir mal so. Wenn er 8 hintereinanderliegende Bytes im SRAM sauber für sein Programm reserviert haben will, dann muss er das dem Assembler auch mitteilen.
reserviert 8 Bytes im SRAM und macht die Startadresse davon unter dem Namen 'MeineDaten' verfügbar. Siehe auch http://www.mikrocontroller.net/articles/AVR-Tutorial:_SRAM
Gast
#3656994
Karl Heinz schrieb: > Peter II schrieb: > >> Anlegen muss man es auch nicht wirklich, > > sagen wir mal so. > Wenn er 8 hintereinanderliegende Bytes im SRAM sauber für sein Programm > reserviert haben will, dann muss er das dem Assembler auch mitteilen. > > .DSEG > MeineDaten: .BYTE 8 > reserviert 8 Bytes im SRAM und macht die Startadresse davon unter dem > Namen 'MeineDaten' verfügbar. > Siehe auch > http://www.mikrocontroller.net/articles/AVR-Tutorial:_SRAM Danke dir für deine Auskunft =) Weiß der Assembler, wo das freie SRAM für den Benutzer anfängt? Es steht im Header File, hier z.B. unter SRAM_START in m8515def.inc, aber ich habe gerade erst damit angefangen und würde zw. dem ersten .DSEG und .BYTE noch ein .ORG SRAM_START setzen. Oder meine Bytes sofort am Programmanfang auf dem Stack reservieren.
Gast
#3657481
Rainer V. schrieb: > habe gerade erst damit angefangen und würde zw. dem ersten .DSEG und > .BYTE noch ein .ORG SRAM_START setzen. Oder meine Bytes sofort am > Programmanfang auf dem Stack reservieren. Mach es doch einfach und lerne den Debugger zu nutzen. Learning by doing.
Gast
#3657483
Rainer V. schrieb: > Weiß der Assembler, wo das freie SRAM für den Benutzer anfängt? Ja. Genauso, wie er weiss, ob das Traget z.B. die Instruktionen call, jmp oder mul unterstützt oder ob es 16 oder 32 Register hat. Coldplay schrieb: > lerne den Debugger zu nutzen. Learning by doing. Funktioniert prima! Da kann ich mein STK500 usw. ja wieder verkaufen :-) c-hater schrieb: > er (Anm.: der Assembler) weiss, ob das Traget z.B. die Instruktionen > call, jmp oder mul unterstützt oder ob es 16 oder 32 Register hat. Dazu kann ich in den *def.inc unter Atmel Studio Appnotes leider nichts finden. Wo steht denn das alles in einer Form, die im Quellcode includiert und ausgewertet werden kann (also keine Datenblätter *.PDF)?
Gast
#3664168
Hi >Dazu kann ich in den *def.inc unter Atmel Studio Appnotes leider nichts >finden. Wo steht denn das alles in einer Form, die im Quellcode >includiert und ausgewertet werden kann (also keine Datenblätter *.PDF)? Das steht verschlüsselt in deiner m8515def.inc: #pragma AVRPART CORE CORE_VERSION V2E MfG Spess Danke für den Tip! Zu Direktive #pragma gibt es allerhand im Inet, aber keine Details zu den beim AVR bzw. AT-Studio verwendeten Parametern. Da werde ich benötigte Angaben aus den Datenblättern heraussuchen und durch bedingte Kompilierung im Code einfügen. Mich stört, daß beim AVR-Studio (4.19) der Pfad zu den selbstgebastelten INC-Dateien bei jedem neuen Projekt eigens eingegeben werden muß. Der Pfad wird wohl nur in der Projektdatei gespeichert. Oder kann ich ihn irgendwo so eingeben, daß er immer für alle meine Projekte gilt?
Gast
#3665281
Hi >Da werde ich benötigte Angaben aus den Datenblättern heraussuchen und durch >bedingte Kompilierung im Code einfügen. Um welche Angaben geht es? MfG Spess Es ging z.B. um den MCU-spezifischen Befehlssatz, Anzahl der Register, der Interrupts und der Bytes pro Int-Vektor in der Tabelle. Allerdings hat es sich mittlerweile erübrigt. Es ging um SRAM-Reservierung für den Stack. Aber wenn Interrupts auch bei gleichzeitigem Auftreten immer nur nacheinander abgearbeitet werden, dann müssen auch nur 2 Byte SRAM für eine einzige Rücksprungadresse auf dem Stack frei sein, wenn ich mal von meinen anderen Subroutinen absehe. Es ging auch um gemeinsame Nutzung einer Quelltext-Vorlage für mehrere MCU-Typen. Die Anzahl Bytes/Int-Vektor brauche ich aber nicht dringend, da in jedem Projekt wohl verschiedene Interrupts verwendet werden. Also gehört die Int-Vektor-Tabelle in den Quelltext des Projektes und nicht in eine gemeinsame Vorlage oder Include-Datei. Bei den MCU-spezifischen Befehlen wäre es z.B. darum gegangen, über welche CALL- oder Sprungbefehle eine MCU verfügt. Aber: wenn ich in gemeinsamen Quelltexten zuviel mit bedingter Kompilierung hantiere, dann wird es schnell unübersichtlich und dadurch auch fehleranfällig. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|