Forum: Mikrocontroller und Digitale Elektronik STK 500 Anschluss


von Max (Gast)


Lesenswert?

Hallo,

ich habe mir das STK500 bestellt und an ein Laptop mit XP
angeschlossen.
Bascom bzw AVR Studio findet mein Board nicht. Könnt ihr mir sagen, was
ich noch einstellen muss. Muss das Stk 500 noch irgendwie installiet
werden ?

Danke

von Tobi (Gast)


Lesenswert?

nein, das sollte so gehen.
hier gibts ein programm von mir, das testet, ob das stk überhaupt
erkannt wird
http://www.der-hammer.info/stkcheck/index.htm

von Max (Gast)


Lesenswert?

Hallo ich bekomme die Meldung unable to open com port 1
ZOne Alarm  und AntiVir und andere Warner habe ich deaktiviert...

von Thorsten (Gast)


Lesenswert?

Kannst du den COM Port mit einem Terminal-Programm öffnen?

von Max (Gast)


Lesenswert?

Hallo Thorsten ,

könntest du mir sagen, was du mit Terminal-Programm meinst?

von Tobi (Gast)


Lesenswert?

so etwas:
http://bray.velenje.cx/avr/terminal/

die meldung bedeutet allerdings, dass irgendein anderes programm die
com port belegt. hast du das stk500 modul vom avrstudio während des
tests geschlossen? wenn nicht mal alle anwendungen dich machen und
nochmal versuchen

von Thorsten (Gast)


Lesenswert?

Starte mal Hyperterm (ist bei Windows automatisch dabei) und versuche,
COM1 zu öffnen. Mußt glaube ich erst eine neue Verbindung erstellen,
dann kannst du die Parameter der seriellen Schnittstelle einstellen.
Wenn auch Hyperterm COM1 nicht öffnen kann, dann belegt irgend ein
anderes Programm bereits COM1 oder es liegt ein Treiberproblem vor.
Schau mal in der Systemsteuerung, ob COM1 überhaupt existiert und ob
der Port richtig funktioniert. Wenn da ein gelbes Ausrufezeichen
auftaucht, dann geht der nicht. Wenn Hyperterm COM1 öffnen kann, dann
weiß ich auch nicht weiter :)

Gruß
Thorsten

von Max (Gast)


Lesenswert?

ich habe mir das programm mal runtergeladen und gestartet.wenn ich auf
connect drücke erscheint: error:port is not available
(Habe keine einstellungen im programm vorgenommen nur gestartet und
dann auf connect gedrückt)

von Jens123 (Gast)


Lesenswert?

schliess mal alle programme, und / oder versuch mal einen anderen com
port zu nutzen..

frage: nutzt du einen usb / rs232 adabter?

von Tobi (Gast)


Lesenswert?

@thorsten
kannst den ausgaben von einem programm ruhig vertrauen :)
wenn das sagt, der port ist belegt, dann sollte das korrekt sein

@max
hast du mal in der systemsteuerung nachgeschaut? bist du sicher, dass
du diesem com port benutzt?

von Max (Gast)


Lesenswert?

ich hab ihn auch schon neu gestartet und alles geschlossen  ..es bring
aber alles nix . ich glaub das es an dem notebook liegt. am pc
funktioniert das board(auch wenns da nicht zu suchen hätte.. aber jetzt
egal)

was muss ich eigentlich bei bascom noch einstellen, damit ich das
tutoral auf rowalt.de durcharbeiten kann.
ich habe den led-code, der die leds anschalten sollte in den µC geladen
aber die leds blei ben aus.
Die Verbindungen auf dem STK500 sind alle eingesteckt. Das
Beispielprogramm, welches auf dem 8515 war  funktionierte

von Tobi (Gast)


Lesenswert?

hast du dran gedacht, dass die led's auf dem stk invertiert geschaltet
werden?

@all
gibt eigentlich eine möglichkeit rauszubekommen, welche anwendung eine
bestimmte systemressource belegt?

von Rahul (Gast)


Lesenswert?

ist die serielle im BIOS eingeschaltet? Und auch auf die Adresse von
COM1 eingestellt?

von Max (Gast)


Lesenswert?

ich muss wegen dem com port später nochmal nachgucken.  ich hab das
board jetzt am pc hängen.
danke für eure hilfe.

@tobi "hast du dran gedacht, dass die led's auf dem stk invertiert
geschaltet
werden?"

was bedeutet  das ?
wenn ich jezt die led_3 auf dem board anschalten will muss ich dann
portb. 3=0  eintippen?
und mit welchem Befehlinitialisiere ich die Leds?
Und noch eine Frage..(;
wenn ich das Programm abbrechen will, damit die Leds z.B in einem
anderem Rhythmus blinken    muss ich dann dies mit if lösen oder gibt
es da andere,bessere Lösungen.
Ich habe auch schonmal gehört, dass man die Eingänge in einem
bestimmten Intervall abfragen kann.

von Rahul (Gast)


Lesenswert?

mit PortB.3 = 0 liegst du richtig.
Um den Port zum Ausgang zu machen, musst du ins DDR
(DataDirectionRegister) des jeweiligen Ports Einsen schreiben. Wie man
das in Basic macht, weiß ich nicht. In C ist es einfach: DDRB = 0xFF
(255).
Zur Schleife:
Du kannst natürlich deine Schleife bedingt abbrechen, und dann entweder
in eine andere springen, oder ganz was anderes machen.
es gibt da zwei gesteuerte Schleifen:
Kopfgesteuert: es wird erst abgefragt, ob die Schleife überhaupt
ausgeführt wird, oder
Fussgesteuert: die Schleife wird mindestens einmal ausgeführt und die
nächste Wiederholung wird dann erst entschieden.

Intervallmässige Abfrage funktioniert über einen Timer (bzw. so im
Programmablauf). Der Timer-Interrupt wird regelmässig ausgelöst (immer,
wenn er übergelaufen ist). In der Routine zu diesem Interrupt kann man
dann z.B. Tasten abfragen oder andere Sachen machen, die aber möglichst
kurz zu halten sind, damit der reguläre Prorammablauf möglichst wenig
gestört wird.

Gruß Rahul

von Max (Gast)


Angehängte Dateien:

Lesenswert?

@ Rahul ,

ich habe im Anhang mal mein erstes Programm angehängt. Es ist
wahrscheinlich sehr schlecht aufgebaut(; und ich dürfte es eigentlich
niemanden zumuten (:
Aber ich saß vieeeele Stunden davor und bin froh, dass da etwas
blinkt...
Mein Programmaufbau macht schon Probleme, da ich alles mit
"Wait-Verzögerungen" programmiert habe. Will ich jetzt das Lauflicht
in eine andere Richtung laufen lassen, dann muss ich einen Taster
immmer gedrückt halten.
Mein Ziel ist es aber , wenn ich den Taster kurz drücke, dann muss sich
die Richtung sofort ändern.
Ich nehme an ,dass man das mit den beschriebenen Timer machen muss.
Ich habe auch in verschiedenen Blättern geguckt, aber es nicht ganz
verstanden.
Könntest du bzw jemand anders, der Bascom versteht, mir das anhand
meines Programms erklären?
Dankeschön

PS:die KOmmentare im Programm stimmen nicht mehr

von Ingo Henze (Gast)


Lesenswert?

@Max
Falls Du der Max bist, der mir eine E-Mail wegen "Chipkarte mit
Textdisplay" geschickt hat!?

Wenn ja, dann solltest Du mal dein E-Mail-Postfach etwas leeren, meine
Antwort konnte nicht zugestellt werden:

Fehler 550
"Benutzer hat zuviele Mails auf dem Server. / User has too many
messages on the server."

Wenn nicht, weiß ich auch nicht weiter...

Gruß
Ingo

von Till Meier(Einsteiger) (Gast)


Lesenswert?

Hallo Ingo,
ja der war ich. Ich habe jetzt meinen Account geräumt. Sorry (;

Gruß Max

von Ingo Henze (Gast)


Lesenswert?

Na gut, dann schicke ich sie jetzt nochmal los...

von Rahul (Gast)


Lesenswert?

Hallo Max!
Der erste Fehler liegt in der Abbruchbedingung der ersten Schleife:
"loop until zahl > 7" deine Zahl wird herunter gezählt, ist also im
ersten Schleifendurchlauf grösser als 7 (nämlich gleich 254).
Eine Tastenabfrage sehe ich nirgends...
Im Prinzip müsstest du die Abbruchbedingung deiner Schleife von der
Grösse der Zahl und der gedrückten Taste abhängig machen.


Gruß Rahul

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.