Daten übertragen: Mikrocontroller - PC (via USB)

Moin moin!

Um’s kurz zu fassen , ich verzweifle gerade daran, die Kommunikation zum Datenaustausch zwischen Computer und Mikrocontroller beidseitig herzustellen…

Was ich vorhabe : Eigenes Elektronik-Gerät via Computer steuern.

Was ich aber erstmal will : Eine LED via Computer („Mausklick“) ein- und ausschalten.

Meine Hardware (in der richtigen Reihenfolge):
Mikrocontroller - entspr. Verb. - ISP-Kabel - mySmartUSB - USB-B-A-Kabel - Computer (USB), COM2
Das MyMultiProg steht mir zum einfachen Beschreiben/Auslesen des M.controllers auch noch zur Verfügung.

_ Bilder + Pinbelegung zu den eben genannten Teilen: http://martinazzi.bplaced.net/0-WerWeissWas/_

Am Computer arbeite ich mit dem Programm BASCOM-Avr. Das MySmartUSB kommuniziert mit dem PC über COM2.

Programmieren und Auslesen klappt auch via ISP (In-System-Programming) wunderbar.

LED per PC (auch gerne per Terminal(programm)) ein-/ausschalten.

Was genau muss ich bei dem Ganzen beachten?
Beispiel-SourceCode/Quelltext wäre super! - Wie gesagt, es soll (erstmal) nur eine LED gesteuert werden.

Hallo,

Um’s kurz zu fassen , ich verzweifle gerade daran, die
Kommunikation zum Datenaustausch zwischen Computer und
Mikrocontroller beidseitig herzustellen…

Serielle Interfaces habe ihre Eigenheuten und auch wenn man
es schon 100 mal gemacht hat, kann man wieder nach dem
Fehler suchen.

Meine Hardware (in der richtigen Reihenfolge):
Mikrocontroller - entspr. Verb. - ISP-Kabel - mySmartUSB -
USB-B-A-Kabel - Computer (USB), COM2
Das MyMultiProg steht mir zum einfachen Beschreiben/Auslesen
des M.controllers auch noch zur Verfügung.

Also hast du schon einen USB-Umsetzer, der auf der anderen
Seite ein serielles Signal ausgibt?
Das muß dann doch normal nur an die UART, im einfachsten
Fall ohne allen Klimbimm (Handshakes) nur Txd und Rxd.
Diese zu programmieren ist natürlich deine Aufgabe.

Das MySmartUSB kommuniziert mit dem PC über COM2.
Hä? Ich denke über USB, oder was?
Natürlich wird sich das Teil wohl als virtuelles COM-Port
anmelden. Treiber hast du dazu schon installiert?

Was genau muss ich bei dem Ganzen beachten?
Beispiel-SourceCode/Quelltext wäre super! - Wie :gesagt, es soll (erstmal) nur eine LED gesteuert werden.

Erwartest du nun, dass dir jemand die ganze Arbeit macht?
Wenn dir das System zu kompliziert ist, würde ich zu einem
einfachen "C-Control-Modul) von Conrad raten, das auch
mit einem einfachen Basis-Dialekt programmiert werden kann.
Da ist das schalten von Ports mit angeklemmter LED sehr
einfach und auch von Laien nach Anleitung gut nachvollziehbar.
Gruß Uwi

Hallo,

ISP

http://de.wikipedia.org/wiki/In-System-Programmierung
Das ist eine reine Programmierschnittstelle für den Datenaustausch aus der Anwendung werden normalerweise (bin zu faul das Datenblatt rauszusuchen) andere Ports verwendet.
Das ist ja der Clou bei der Sache den µP programmieren zu können ohne ihn von der Platine zu nehmen. Stell dir mal vor du hättest ein serielles Display am RS232, das würde im besten Fall Nonsens anzeigen im schlimmsten Fall dauerhaft aussteigen wenn da Programmierbefehle für den Prozessor kommen.

Cu Rene

Moin nochmal!

Erstmal herzlichen Dank für Deine Antwort!! :smile:
Sie hat mich deutlich weitergeholfen! :wink:

Das muß dann doch normal nur an die UART, im einfachsten
Fall ohne allen Klimbimm (Handshakes) nur Txd und Rxd.
Diese zu programmieren ist natürlich deine Aufgabe.

Wunderbar, ja. TXD und RXD verbunden; zuerst wollte’s nicht. Dann „gekreuzt“, hab’s irgendwo so gelesen und: Super!
Das senden (Print „Hello World“) klappt einwandfrei.
BTW (nebenbei): M.controllertakt 1 Mhz, Baudrate 4800.

Freundliche Grüße & einen Guten Rutsch!!!
Martin.

Hallo,

Erstmal herzlichen Dank für Deine Antwort!! :smile:
Sie hat mich deutlich weitergeholfen! :wink:

schön.

Das muß dann doch normal nur an die UART, im einfachsten
Fall ohne allen Klimbimm (Handshakes) nur Txd und Rxd.
Diese zu programmieren ist natürlich deine Aufgabe.

Wunderbar, ja. TXD und RXD verbunden; zuerst wollte’s nicht.
Dann „gekreuzt“, hab’s irgendwo so gelesen und: Super!

Logisch Txd von einer Seite kommt natürlich immer an Rxd
auf der anderen Seite. Jetzt weißt du das auch :wink:

Das senden (Print „Hello World“) klappt einwandfrei.
BTW (nebenbei): M.controllertakt 1 Mhz, Baudrate 4800.

Ja, da mußt du die Teiler so einstellen, dass die Baudrate
mit hinreichender Genauigkeit getroffen wird.
Gruß Uwi