Hallo, ich bin absoluter Neueinsteiger was die Programmierung von AVR und Assembler betrifft. Um mir ein Bild über ein Programm machen zu können suche ich ein ganz simples Programm (mit Erklärung). Ich möchte gerne mit einem Atmega8 über einen Tastimpuls am PC0 eine LED an PC1 ein und ausschalten. Kann kir jemand so etwas geben? Danke und Gruß Klaus
Klaus, fang lieber damit an, nur eine LED einzuschalten. Tasten zu benutzen erfordert Entprellung und das ist schon ein Thema fuer sich. Hast du dir schon die Assembler-Befehlstabelle und das Datenblatt deines AVR reingezogen ? Daz
Das ist zwar nicht das, was du suchst, aber es wird dir sicher helfen. Denn das hatte ich mal für einen Anfänger geschrieben und daher üppig kommentiert. Es diente zum Test eines Mega8-Boards. ...
Hallo zusammen, danke für die Antworten. Die Befehle hab ich mir schon angesehen. Mir fehlen noch ein bisschen die Zusammenhänge bzw. die Grundlagen. Die Literatur ist sehr trocken. Ich habe jetzt mal einen Anfang mit dem "AVR-Tutorial" hier im Forum gemacht. Jetzt bekomme ich die Fehlermeldung "4433def.inc(38) : error : Syntax error" wenn ich mit der angehängten Dati versuche zu assemblieren. Was ist da falsch? Grüße Klaus
Hallo, kennst Du dieses aus der Codesammlung (vlt. ist es ja auch schon bei den Artikeln im WiKi): http://www.mikrocontroller.net/forum/read-4-81225.html Grüße Quark
In welches Programm hast du denn die 4433def.inc eingebunden? Hast du dir mein Beispiel mal angesehen? Versuche doch mal, es (mithilfe des Datenblattes und der Hilfe des AVR-Studios) zu analysieren. Das beantwortet schonmal einige Anfängerfragen. Hast du einen AT90S4433 in Benutzung??? Falls du einen Mega8 benutzt, musst du die m8def.inc einbinden. Schau dir mal im Ordner avr-assembler\appnotes (oder ähnlich) deines AVR-Studios die verfügbaten Include-Dateien an. ...
Hallo HanneS, an deinem Beispiel bin ich drann. Mit der Include Datei des AT90S4433 habe ich versucht die Beschreibung im AVR Tutorial nach zu vollziehen. Die Include Datei stammt aus dem AVR Studio (gestern runter geladen) Wenn ich die Datei zum Atmega8 einbind bekomme ich noch mehr Fehler. Liegt es vielleicht an einer anderen Adresszuordnung? Grüße Klaus
Dazu müsste ich das Programm sehen, welches die Include-Datei aufruft. Denn die Fehler stecken nicht in der Include-Datei, sondern im Umgang damit. ...
versuch mal dein Glück: .include "4433def.inc" ;Definitionsdatei einbinden, ggf. durch ldi r16, 0xFF ;0xFF ins Arbeitsregister r16 laden out DDRB, r16 ;Inhalt von r16 ins IO-Register DDRB ausgeben ldi r16, 0b11111100 ;0b11111100 in r16 laden out PORTB, r16 ;r16 ins IO-Register PORTB ausgeben ende: rjmp ende ;Sprung zur Marke "ende" -> Endlosschleife Danke! Klaus
Komisch, mein Assembler meckert nicht... Building project... AVRASM: AVR macro assembler 2.0.31 (build 58 Apr 21 2005 14:17:40) Copyright (C) 1995-2005 ATMEL Corporation E:\AVR\Test\wetzel\test.asm(1): Including file 'C:\Programme\Atmel\AVR Tools\AvrAssembler2\Appnotes\4433def.inc' AT90S4433 memory use summary [bytes]: Segment Begin End Code Data Used Size Use% --------------------------------------------------------------- [.cseg] 0x000000 0x00000a 10 0 10 4096 0.2% [.dseg] 0x000060 0x000060 0 0 0 128 0.0% [.eseg] 0x000000 0x000000 0 0 0 256 0.0% Assembly complete, 0 errors. 0 warnings Kann es sein, dass in deiner Entwicklungsumgebung etwas nicht stimmt? ...
Hallo, ich hatte auch ein ähnliches problem! Es hat an der Include Datei gelegen. Die 4433.inc hat bei mir nicht gefunzt. Da ich sowieso ein atmega8 programmieren wollte hab ich mir m8def.inc bei google gesucht und nach langer suche gefunden! Die Texdatei ist im Anhang. Du musst im Programm nurnoch die include datei ersetzen also 4433.inc durch m8def.inc ersetzen. m8def.inc muss im gleichen Quellordner sein wo dein Prog gespeichert ist.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.