STK 500 Anschluss

Gast #132485
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
Gast #132486
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)
Gast #132488
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?
Gast #132489
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
Gast #132492
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.
Gast #132493
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
Gast #132494
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
Angehängte Dateien:
Gast #132495
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
Gast #132498
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren