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
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
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
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)
@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?
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
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?
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.
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
@ 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
@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
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