Arduino Daten über COM Port

Gast #4333871
Lesenswert?

Hallo,
ich habe ein Arduino und möchte gerne Konfigurationsdaten vom PC 
(Windows) über den COM Port senden. Nach der Konfiguration sollen Daten 
vom Arduino über diesen Port an den PC gesendet werden.
Kann mir jemand helfen wie ich hier starten muss um eine passende DLL zu 
schreiben?
#4333876
Lesenswert?

Da brauchst du keine DLL schreiben.
Mit welcher Programmiersprache programmierst du am PC? Dort siehst du 
dir an, wie man da mit der seriellen Schnittstelle umgeht.
Der Rest ist dann Texte hin und her schicken. Wobei sich natürlich am PC 
der ganze Rattenschwanz stellt, wie zb wo kommen die Werte her? Kommen 
die aus einer Datei? Wie werden die dort gespeichert? Wie wählt ein 
Benutzer aus? Kann ein Benutzer die Konfigurationsdaten interaktiv auf 
dem PC verändern, ehe sie übertragen werden, etc. etc.

wenn du also fragst "wie fange ich an".
Du fängst damit an, eine Kommunikation zwischen Arduino und PC bzw. 
umgekehrt aufzubauen, die über die serielle SChnittstelle läuft. Und 
wenn du das so leidlich im Griff hast, denkst du dir ein Protokoll aus.
Persönliche Seite #4333880
Lesenswert?

Eine DLL allein wird nicht reichen, es muss schon eine EXE, Java, Python 
oder sowas sein. Ich selbst arbeite oft mit Visual Studio .NET.

Du scheibst: "eine passende DLL". Wozu soll die passen?

PS: Oder anders (wie  Karl Heinz schrieb, der schneller war): Mit 
welcher Programmiersprache programmierst du am PC?

PPS: Gehört das nicht eher in das Forum "PC-Programmierung"?
Gast #4333899
Lesenswert?

Torsten C. schrieb:
> Du scheibst: "eine passende DLL". Wozu soll die passen?

Also meien Aufgabe ist es eine DLL in C zu programmieren, in der die 
Konfigurationsdaten vom Benutzer eingegeben werden können und der PC 
soll anschließend daten vom arduino empfangen können.
Das ist zunächst das was ich dazu sagen kann. Jedoch fehlt mir hier zur 
Zeit der Starpunkt wie ich so etwas anstelle.
Ich dachte vllt gibt es da so etwas wie man da standardmäsig vorgeht.
Gast #4333937
Lesenswert?

Torsten C. schrieb:
> Hört sich an wie eine DLL, die Du in Labview ansprechen willst.
> Aber lass uns bitte nicht raten.
>
> Nochmal: Welches Programm soll die DLL nutzen?

Das ist natürlich eine wichtige Frage, die ich abklären werde. Ich werde 
im laufe des Vormittags weitere Informationen zur Verfügung stellen
Gast #4334044
Lesenswert?

Die DLL soll mit in mehreren in der hochschule entwickelte programme 
eingebunden werden können.
Hier soll zum beispiel festgelegt werden, das die Pins 10-20 o.ä. aktiv 
sein sollen.
Des weiteren soll der Port über ein entsprechendes Kommando geöffnet und 
geschlossen werden können und anschließend könnendaten vom arduino an 
den pc gesendet werden.
Gast #4334112
Lesenswert?

Tim schrieb:
> Die DLL soll mit in mehreren in der hochschule entwickelte
> programme eingebunden werden können.
> Hier soll zum beispiel festgelegt werden, das die Pins 10-20 o.ä. aktiv
> sein sollen. Des weiteren soll der Port über ein entsprechendes Kommando
> geöffnet und geschlossen werden können und anschließend könnendaten vom
> arduino an den pc gesendet werden.

Warum lässt man das immer Leute machen die gerade davon keine Ahnung 
haben?
Persönliche Seite #4334144
Lesenswert?

Ion schrieb:
> Warum lässt man das immer Leute machen die gerade davon keine Ahnung
> haben?

Alle, die heute Ahnung haben, mussten das auch erst lernen, z.B. durch 
so eine Semesterarbeit. Theorie geht links rein und rechts wieder raus.

Tim schrieb:
> Dann muss es doch möglich sein das ganze über den FTDI treiber zu lösen
> oder?

Genau! Alles andere wäre komplizierter und vermutlich unnötig 
kompliziert.
#4334406
Lesenswert?

>Andere Väter haben auch schöne Töchter.

für die DLL (oder was es dann irgendwann mal werde soll)
ist das doch vollkommen egal,
ein "echter" Arduino Uno z.b. wird immer einen FTDI haben
ein china clone eher eine CH340


aber, die Aufgabe ist "über den COM Port senden. "
also SCH.. egal was auf dem "Arduino" ist..




>Habe gerdae die information bekommen das diese programme die serielle
>schnittstelle ansprechen können.

nett, aber was hat das mit deiner DLL zu tun??
Gast #4334428
Lesenswert?

Robert L. schrieb:
>>Habe gerdae die information bekommen das diese programme die serielle
>>schnittstelle ansprechen können.
>
> nett, aber was hat das mit deiner DLL zu tun??

Könnte vielleicht heißen, daß die entsprechenden Programme selbst schon 
den seriellen Port aufmachen und daher für seine "library" eigene 
read/write Befehle bereitstellen. Aber es bleibt nebulös.
#4334555
Lesenswert?

Robert L. schrieb:
> die Aufgabe:
>>eine passende DLL zu schreiben?

war das die Aufgabe oder nur sein Wunsch?

Ich würde ja fürs Geforderte:

Tim schrieb:
> möchte gerne Konfigurationsdaten vom PC
> (Windows) über den COM Port senden

keine DLL schreiben sondern ein Programm in lcc32, andere würden qbasic 
oder batch wählen.

Es ist ja nicht so wahnsinnig schwer was auf die Com rauszujagen.

copy con: com1:
hterm
hyperterminal

also was wäre die genaue Aufgabe oder was wäre der Wunsch wirklich?

hat der Wunsch was mit der Aufgabe zu tun? oder ist der Wunsch nur aus 
einer falsch verstandenen Aufgabe entstanden?

Die Frage kommt mir vor wie: "wie kann ich übers Wasser laufen?" dabei 
ist das Ziel doch nur drüben anzukommen.
#4334597
Lesenswert?

Robert L. schrieb:
>>Die DLL soll mit in mehreren in der hochschule entwickelte programme
>>eingebunden werden können.
>
> ist jetzt schon recht eindeutig..

OK mein Fehler, dann würde ich vermutlich die DLL auch mit lcc32 
schreiben,

http://www.cs.virginia.edu/~lcc-win32/

http://www.axelvogt.de/axalom/lcc-win32/Creating_a_DLL_for_Excel_or_Visual_Basic_with_lcc-win32.pdf

müsste mich auch erst einlesen
#4334666
Lesenswert?

>>Die DLL soll mit in mehreren in der hochschule entwickelte programme
>>eingebunden werden können.

Dann erwarten diese Programme sicher eine bestimmte Schnittsrelle, oder?
Also Umsetzung von SerialPort nach Unbekannt.
Für SerialPort gibt es in jeder Sprache Unmengen Beispiele. Für das 
Zweite ist die Kristallkugel zuständig.
#4334681
Lesenswert?

Joachim B. schrieb:
> Robert L. schrieb:
>>>Die DLL soll mit in mehreren in der hochschule entwickelte programme
>>>eingebunden werden können.
>>
>> ist jetzt schon recht eindeutig..
>
> OK mein Fehler, dann würde ich vermutlich die DLL auch mit lcc32
> schreiben,

trotzdem.
Egal wie, würde ich das Thema DLL erst mal beiseite lassen und mit einem 
normalen Programm anfangen, ein entsprechendes Protokoll für den 
beabsichtigten Zweck zu entwickeln. Die dabei anfallenden Kernteile kann 
man dann immer noch in eine DLL verpacken, aber erst mal ist eine DLL 
bei der anstehenden Entwicklungsphase erst mal hinderlich.

Divide and conquer
Erst mal sich um die unumgängliche Kommunikation kümmern und dann erst 
darum, wie man das verpackt. Hat man ein eigenständiges Programm erst 
mal fertig, dann weiss man auch schon mehr, wie die funktionale 
Schnittstelle der DLL aussehen könnte. Die Protokollentwicklung wird 
sowieso ein paar Iterationen benötigen, bis man auf einem auch für 
andere brauchbaren Level angelangt ist. Dann ist es immer noch früh 
genug, sich um das Thema DLL zu kümmern.
#4334728
Lesenswert?

Rufus Τ. F. schrieb:
> Allerdings ist es ratsam, das Programm nicht mit irgendeiner GUI zu
> versehen, sondern ein simples Kommandozeilenprogramm zu bauen.

Entweder das oder sehr diszipliniert zwischen GUI und funktionalem Kern 
unterscheiden. Ich gestehe aber auch zu, dass gerade Anfänger diese 
Trennung und das disziplinierte Einhalten derselben meist nur sehr 
schwer schaffen. Von daher ist die Empfehlung eine gute.

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