Bascom Und Visual Basic?

#2019200
Lesenswert?

Hallo,

du solltest C lernen und ein AVR Tutorial machen:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Aufwand ca. 2 Monate bis man alles beherrscht.
Dann braucht man noch einen Programmer für den AVR.

Patrick schrieb:
> Also ich möchte in Visual basic einen button machen mitdem ich eine led
> zum beispiel an und aus machen kann.

Ist möglich. Serielle Schnittstelle nutzen und Microcontroller darüber 
ansteuern.
Gast #2019213
Lesenswert?

Du erstellst für den PC ein Programm (mit Visual Basic), das einen 
Button darstellt, und dessen Zustand über eine geeignete Schnittstelle 
(z.B. seriell oder USB) ausgibt.

Über dieser Schnittstelle verbindest du den PC mit den Mega88. Das 
erfordert neben passenden Steckern, Buchsen, und Kabeln auch noch 
zusätzliche Hardware vor dem Mega88.

Dann erstellst du für den Mega88 ein Programm, das Daten über dessen 
Schnittstelle einliest, und in Abhängigkeit der gelesenen Werte eine LED 
ein- oder ausschaltet.

Das ist schon alles...

Oliver
(Firma: electro-tester) #2019264
Lesenswert?

Patrick schrieb:
> ich besitze ein
>
> Ich habe so ein lernpacket und bin ganz neu in dem gebiet ..

Achso, dann sag das doch gleich. Du musst hier schon ein
paar mehr Informationen liefern sonst wird man dir nicht
helfen können. ;-)

Hast du die Beispiele im Paket schon durchgeführt?

siehe hier:
[http://halvar.at/elektronik/kleiner_bascom_avr_kurs/hallo_welt/]]


Grüße...
Gast #2020046
Lesenswert?

Patrick schrieb:
> Oliver schrieb:
>> Das ist schon alles...
>
> Das klingt als ob das ganz eifach ist..

Je nun, je nach Vorwissen und vorhandenen Libs ist das eine Aufgabe für 
ca. 1 Tag bis 2 Jahre. Wenn du bisher weder was mit Virtual Basic, mit 
Schnittstellen, mit Hardware, und mit Mikrocontrollern gemacht hast, 
wird das ohne fremde Hilfe gar nichts.

Oliver
Gast #2020134
Lesenswert?

Pattrick.
Schau mal bei Abacom.de vorbei, dort gibt es das Profilab- Expert 
Programm,
auch als kostenlose DEMO, mit dem kannst Du ganz schnell Deine 
Aufgabenstellung lösen- nein, ich bin nicht von Abacom, verwende jedoch 
deren Programme und bin begeistert.
Persönliche Seite #2020425
Lesenswert?

Patrick schrieb:
> Ja ich bin auch schon durch mit dem lernpaket mit Bascom klappt das ja
> auch alles wunderbar nur nicht in Visual Basic

Bascom als Editor und Compiler läuft auf deinem PC. Dort erzeugt er aus 
dem Quelltext eine Binärdatei, die dann über den Programmierer auf den 
AVR gebracht wird. Das eigentliche Programm (Binärdatei) wird dann auf 
der Zielhardware (Mega88) ausgeführt.

Visual Basic läuft als Editor und Compiler auf deinem PC. Der Compiler 
erzeugt eine Binärdatei die NUR auf dem PC ausgeführt wird. Diese Datei 
läuft NICHT auf dem AVR.
#2020443
Lesenswert?

Patrick schrieb:
> Floh schrieb:
>> Hast du die LED schon mit einem Programm zum Leuchten gebracht?
>
> Ja ich bin auch schon durch mit dem lernpaket mit Bascom klappt das ja
> auch alles wunderbar nur nicht in Visual Basic

Höchst wahrscheinlich hat dein Lernpaket den USB Port so eingebunden, 
dass er als virtueller COM Port auf dem PC zur Verfügung steht.

D.h. die Kommunikation zwischen PC und deinem Mega ist eine ganz normale 
RS232 Kommunikation. Das die physikalisch über USB abgewickelt wird, ist 
für dich uninteressant.

Dein Mega empfängt die Daten per UART und auf dem PC stellst du diesen 
virtuellen COM-Port ein.

Jetzt musst du nur noch rauskriegen, wie du in VB eine Serielle 
Schnittstelle bedienst. Aber dafür gibt es massenhaft Tutorials im Web.
#2020635
Lesenswert?

Google
"vb serial port communication"

zb. gleich der erste Link


Im übrigen:
Du entfachst momenten einen 2-Frontenkrieg.

Fang erst mal so an:
Nimm PC-seitig ein Terminal-Programm, welches du an den COM-Port hängst.
Sieh zu, dass du von deinem µC da erst mal Ausgaben drauf machen kannst 
(dadurch testest du die UART Einstellung am µC)
Dann die Umkehrung: Ein µC Programm schreiben, welches auf Daten von der 
seriellen Schnittstelle ragiert. Damit kannst du dann schon mal deinen 
µC vom Hyperterminal aus durch Eingabe von Text steuern.

Und erst dann, wenn der µC Teil fertig ist, gehst du daran, dass dir ein 
VB-Programm das erledigt (also den Text zum µC schickt), was du bisher 
mit Hyperterminal am PC händisch gemacht hast.
Gast #2020696
Lesenswert?

Joe G. schrieb:
> Beschreib doch mal bitte ganz einfach verbal
> die Schritte die du ausführen möchtest und deine dazu schon erledigten
> Schritte.


Also ich habe an einen Atemga88 2 led´s angeschlossen.

Dann habe ich in Bascom ein Programm geschrieben dass die led´s 
abwechselnd blinken lässt, das hat dann auch so weit  eklappt.


So und jetzt möchte ich mit VB 2 Buttons erstellen mitdenen ich jeweils 
jede led an und ausschalten kann

Und jetzt zu meinem Problem mit VB kenne ich  mich nicht ganz aus , 
damit meine ich comm ports ansteuern.

Das was ich im i net gefunden hat hat nicht funktioniert

Und jetzt bitte ich euch um HILFE
#2020702
Lesenswert?

Patrick schrieb:

> Dann habe ich in Bascom ein Programm geschrieben dass die led´s
> abwechselnd blinken lässt, das hat dann auch so weit  eklappt.

ok

Das heißt, du hast noch überhaupt keine Kommunikation gemacht

> So und jetzt möchte ich mit VB 2 Buttons erstellen mitdenen ich jeweils
> jede led an und ausschalten kann
>
> Und jetzt zu meinem Problem mit VB kenne ich  mich nicht ganz aus ,
> damit meine ich comm ports ansteuern.

Wie schon gesagt:
Mein Tip. Lass VB erst mal links liegen und sieh zu, dass du
* die Kommunikation in Gang kriegst
* du vom Hyperterminal (also einem Programm welches nachgewiesenermassen
  die COM Schnittstelle richtig (na, ja) bedienen kann) deinen
  µC steuern kannst


Machst du zuviele Baustellen auf einmal auf (µC UND VB-Programm 
gleichzeitig entwickeln), dann weißt du nie, wo denn jetzt der Fehler 
ist, wenns nicht funktioniert. Und es wird nicht auf Anhieb 
funktionieren.
Persönliche Seite #2020711
Lesenswert?

Patrick schrieb:
> Und jetzt bitte ich euch um HILFE

Teile deine Aufgabe in zwei Teilaufgaben.

1. Mega88 schaltet 2 LED's gesteuert über den virtuellen COM-Port.
Dazu mußt du auf auf dem Mega88 den COM-Port abfragen, das Protokoll 
auswerten und die LED's schalten.

2. Statt des VB benutzt du zum Test ein Terminalprogramm auf dem PC. 
Wenn du dort dein selbstdefiniertes Kommando sendest, sollten die LED's 
am Mega88 schalten.

3. Du programmierst in VB deine Schalter so, dass sie genau das Kommando 
welches du vorher im Terminal gesendet hast senden.
#2020721
Lesenswert?

Karl heinz Buchegger schrieb:

>> So und jetzt möchte ich mit VB 2 Buttons erstellen mitdenen ich jeweils
>> jede led an und ausschalten kann

Kann es sein, dass da ein Verständnisproblem vorliegt.

Es ist nicht das VB Programm, welches die LED ein/ausschaltet.

Du musst dir das eher so vorstellen, wie wenn du zu Hause anrufst und 
deine Freundin bittest das Fenster auf/zu zu machen.

Du bist der PC
Deine Freundin ist der µC
die Telefonverbindung ist euer Kommunikationskanal.

Es ist deine Freundin, die das Fenster bedient. Du gibst nur die 
Kommandos dazu.

Aber: Dazu muss deine Freunding das Kommando verstehen und du musst das 
richtige Kommando abschicken.

Als Kommando kannst du dir etwas ausdenken, was dir sinnvoll erscheint. 
Nichts desto trotz musst du erst mal deiner Freundin beibringen, wie man 
Kommandos empfängt und auswertet und dann das richtige tut.

Ob dann du (als VB-Programm) oder dein Kumpel das Kommando absetzt ist 
egal. Mit einem Unterschied: Dein Kumpel (das Terminalprogramm) kann 
schon mit der COM-Schnittstelle arbeiten und du noch nicht.
Gast #2020761
Lesenswert?

Übersichtlich darzustellen: Du musst erst mal festlegen, wie sich der PC 
mit dem Mikrocontroller verständigt.

Das ist erstens: USB- oder serielle Schnittstelle mit der entsprechenden 
Hardware. Die gibt Dir Dein Lernpaket wahrscheinlich schon mehr oder 
weniger vor.

Dazu kommt zweitens noch, daß Du festlegen musst, wie die Informationen 
"gedanklich" ausgetauscht werden sollen. Das nennt man auch Protokoll. 
Auf so einer Verbindung werden ja grundsätzlich erstmal nur Zeichen 
(CHARs, Buchstaben...) ausgetauscht. Jetzt mußt Du Dir überlegen, wie Du 
die zu übertragenden Befehle in Zeichenketten darstellst.

Im Endergebnis mußt Du erstens das VB-Programm so schreiben, dass es auf 
den Button hin beispielsweise die Zeichenfolge "LED1=1" sendet. Und dann 
muß das Programm des Mikrocontrollers diese Zeichenfolge auswerten und 
die LED 1 daraufhin einschalten.

Natürlich ist dann auch noch sehr viel Detailkram wie 
Schnittstellenprogrammierung und dergleichen dabei. Außerdem ist es 
hilfreich, sich möglichkeiten zu schaffen, die einzelnen Teilschritte 
unabhängig voneinander zu testen. Sonst stehst Du immer nur mit dem 
Fragezeichen da und sagst "geht ja gar nicht"... Da mußt Du jetzt aber 
durch.
Gast #2086841
Lesenswert?

Hi
Wenn du VB programmieren kannst, dann mach doch folgendes:
Bei Betätigen des Buttons prüfst du, ob das letzte gesendete Zeichen ein 
"A" war und dann sendest du ein "a", wenn es ein "a" war, entsprechend 
ein "A". Im Controller programmierst du den USART-Interrupt Empfang. 
Kommt dort ein "A" an, setzt du den Ausgang, kommt ein "a" an, setzt du 
ihn zurück. "A" für An, "a" für aus.
Mit BASCOM hab ich leider nix am Hut, sonst könnt ich dir die 
Empfangsroutine auf dem µC kurz erläutern, aber da gibt's bestimmt 
genügend Beiträge, die dir weiterhelfen.
Gruß oldmax

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