Forum: PC-Programmierung Bascom mit VB Visualisieren


von Daniel Buschi (Gast)


Lesenswert?

Hi,

mein Problem:
Ich bin Anfänger :-)
Ich habe ein ein AVR Attiny2313 und ein Testboard (mit LEDs und
Tatsern).
Ich habe den ATtiny so programmier, dass wenn ich auf dem Testboard
einen Taster drücke das dann die LED in einem bestimmten Muster
läuchten und der Print Befehl "taster 1 gedrückt" erscheint.
So weit is ja alles okay.
So jetzt möchte ich gerne das mit Visual Basic visualisieren in dem Z.B
 in einem Fenster auch der Befehl "taster 1 gedrückt" erscheint.
Könnt ihr mir folgen?
Aber wie Frage ich denn diesen Zustand jetzt mit VB ab?? Mit welchen
Befehlen soll ich arbeiten?

könnte mir jemande einen Tip, Denkanstoß oder Link geben

Danke gruß Buschi

von Marc M. (bytewood) Benutzerseite


Lesenswert?

ATtiny UART-Max232-----(serielles Kabel)----PC--VB

In VB das Serial-Objekt benutzen.

Wenn der Taster gedrückt wurde, dann sendet der Tiny irgendein Zeichen,
VB wertet aus. Genauso umgekehrt, oder Varianten davon...

Feddich :-)

Gruß

von Daniel Buschi (Gast)


Lesenswert?

hmmmmm könntest du mir eventuell genauere infos geben wie und mit
welchen befehlen ich das in VB verwirkliche ???
Ein Link ginge auch oder ein code dann kann ich mir da war abkupfern
und raussaugen
Danke Gruß Daniel

von Dirk (Gast)


Lesenswert?


von Daniel Buschi (Gast)


Lesenswert?

Hi Dirk,

danke für die Bemühung !!!
Aber die infos sind für mich nicht zu tiefgreifend.
Ich habe mit meinem Leher gesprochen und der Jabbelte irgendwas
von "INPUT Serielle Schnittstelle" und "VB terminal Programm"
und "If A$ = "taster 1 gedrückt"
      then ...."

Kan einer mir da weiterhelfen oder damit was anfangen?
Kein Plan bitte felft mir Danke Euer Buschi!

von Dirk (Gast)


Lesenswert?

Hallo,

hm wo liegt bitte genau das Problem? Hier noch ein anderes Beispiel zur
Kommunikation über RS232 mit VB2005 Express.

http://vbforums.com/showthread.php?t=402916

Dein Mikrocontroller Programm koenntest du ein bischen abaendern. Du
uebertragst von deinem Tiny den ganzen Portwert (PINx, 1 Byte) per UART
an den PC. Mit deinem VB Programm wertest du das eine Byte aus und gibst
dann verschiedene Information aus.

Du kannst so auch feststellen ob mehrere Taster gleichzeitig gedrueckt
sind oder eine Tastenkombination gedrueckt wurde.

Gruß,

Dirk

von Daniel Buschi (Gast)


Lesenswert?

Thx Dirk

Ihr kennt doch den Simulator in Bascom?! und ich habe meinen Attiny
so programmier, dass wenn ich den Simulator laufen lasse und dann eine
Taste drücke steht in dem Fenster z.B. "Tatser 1 wurde gedrückt"

jetzt will ich es versuchen das dieser Satz in einem von mir,in Visual
Basic geschriebem Programm auftaucht. Z.B als Warnmeldung in einem
Fenster. Also VB überfrüft was da auf meinem Testboard abgeht und gibt
es dann an den User aus.

Ich vermute das ich NICHT mit der PORT.DLL arbeiten muss.

Aber belehrt mich bitte wenn ich falsch liege.

Danke für eure Bemühung

von Wolfram (Gast)


Lesenswert?

Du hängst wie schon vorgeschlagen ,dein Testboard an die serielle
Schnittstelle und schreibst auf dem Mikrocontroller ein Programm was
folgendes kann: Wenn über die serielle ein Befehl zur Abfrage der
Taster kommt gibt er ueber die serielle den Status der Taster zurück.
Auf PC-Seite schreibst du ein Programm das den Befehl zur Abfrage der
Taster sendet ,die Antwort entgegen nimmt und prüft ob eine Taste
gedrückt ist.
Beide Programme must du selbst schreiben und den Befehl zur Abfrage
darfst du dir auch selbst ausdenken, nennt sich Protokoll.

von Karl heinz B. (kbucheg)


Lesenswert?

> Also VB überfrüft was da auf meinem Testboard abgeht

Da liegst du falsch.

Das VB Programm kann den Atmel so nicht überwachen.
Der AVR kann hingegen Statusmeldungen auf die Serielle
Schnittstelle ausgeben. Da könntest du zb ein
Terminal (VT100) oder einen PC auf dem zb. HyperTermianal
läuft, drannklemmen und siehst dann diese Statusmeldungen.
Anstatt einem Terminal oder Hyperterminal kann man natürlich
auch in jeder Programmiersprache (also auch VB) ein
Programm schreiben, dass sich an die serielle Schnittstelle
klemmt und alles was da reinkommt in einem Textfenster
ausgibt.

Der springende Punkt ist: Das VB-Programm (oder ein Terminal
oder Hyperterminal) sind nur Zuhörer. Die sind darauf angewiesen
dass der AVR in seiner Programmierung immer wieder diese
Statusmeldungen auf den UART ausgibt. Wenn der AVR nichts
ausgibt, kann auch das VB Programm nichts anzeigen.

von Daniel Buschi (Gast)


Lesenswert?

Super Karl Heinz genau das meine ich!

Die Hardware habe ich aber es hapert noch an der Software.
Wie ich das jetzt verstanden habe muss ich mein Bascom Programm so
zurecht schrieben dass VB davon "was versteht" oder "was
mitbekommt".
Uffffffff woher bekomme ich den jetzt die Befehle Bascom / AVR ?
Ich bin echt unbewandelt auf dem Thema...

Könnet ihr mir noch mal helfen?

Danke Gruß Buschi

von Karl heinz B. (kbucheg)


Lesenswert?

Du musst deine Aufgabenstellung mal in 2 Bereiche
unterteilen:

1) VB Programm das an der seriellen Schnittstelle mitlauscht.
2) Programmierung des AVR, sodass der an seiner seriellen
   Schnittstelle Texte ausgibt.

ad 1)
in VB selbst hab ich sowas auch noch nie gemacht. Vom Hörensagen
weiss ich aber, dass es da so ein Microsoft COM Objekt gibt.
Das bindest du in die VB-Applikation ein, initialisierst es
und schon schickt dir das Teil alles was es an der seriellen
Schnittstelle einfängt.
 Ich würde gleich mal google anschmeissen:
 http:www.google.com
 als Suchstring "serial port VB"
 eingeben und mal die ersten 20 oder 30 Links durchforsten

ad 2)
Die serielle Schnittstelle auf einem AVR anzusprechen (sofern
er eine Hardware-UART hat) ist auch keine Hexerei. Da ich nicht
mit BASCOM arbeite kann ich dir dazu nicht mehr sagen. Aber
ich denke mal, dass ist in BASCOM alles eine Frage der richtigen
Zeilen in der Config-Sektion. Also: BACOM Handbuch studieren,
nach Demos suchen (auch hier wieder: google ist dein Freund) und
dann sollte das eigentlich schnell klappen, dass der AVR auf
der Seriellen sendet.

von Daniel Buschi (Gast)


Lesenswert?


von Daniel Buschi (Gast)


Lesenswert?

noch mal eine kleine Frage.

Es gibt doch zu VB auch eine Hilfe. Die kann ich bei mir aber irgendwie
nicht aufrufen. Mein Freund meine: " wenn du ein Problem mit VB hast,
dann schau doch einfach in der Hilfe nach. Da sind auch immer
Programmbeispile dabei."
Wo bekomme ich diese Hilfe her mit den Programmbeispielen meint der
vielleicht MSDN?

Danke
Gruß Buschi

von der inoffizielle WM-Rahul (Gast)


Lesenswert?

>Wo bekomme ich diese Hilfe her mit den Programmbeispielen meint der
>vielleicht MSDN?

Ja.

von Daniel Buschi (Gast)


Lesenswert?

MSDN da sind auch Programmbeispiele bei?
Und das kann ich auch for Free downloaden?
Denke mal bei Microsoft.com ??

von Marc M. (bytewood) Benutzerseite


Lesenswert?

@Daniel
Vielleicht zum Verständnis:
uC sendet den Status an den PC.
In VB wird über das COM Objekt, jedesmal, wenn ein Zeichen empfangen
wurde der sog. COM-Event gestartet (das macht VB automatisch, sobald im
Empfangspuffer was drin ist). Über das COM-Event steuerst Du dann Deine
Bildschirmanzeige (oder was auch immer,: Objekte, die die farbe
verändern, Textmeldungen im Textfeld etc.)

Schnapp Dir ein VB-Buch und fang an zu lernen - hier wird Dir keiner
einen fertigen Code schustern; und Google ist ein Freund.

von der inoffizielle WM-Rahul (Gast)


Lesenswert?

Bei Microsoft kann man sich auch den VB-Compiler kostenlos herunterladen
(ca.400MB). Da sind wohl auch MSDN-Sachen mit bei.
Rufus hatte einen Link zum VC++-Compiler in einem anderen Thread
gepostet, wenn man dort die CD-Download-Variante anklickt, kommt man
zum kompletten Download.

Sonst www.msdn.com ...

von Daniel Buschi (Gast)


Lesenswert?

was zur hölle ist eigendlich Visual Basic .NET
Aber auf der Visual Basic 6 sollte doch dieses MSDN auch drauf sein
oder nicht?

von OHJE (Gast)


Lesenswert?

100 % Lernresistenz !!!

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.