Forum: PC-Programmierung Dll schreiben zum Steuern vom Microcontroller


von Peter (Gast)


Lesenswert?

Hallo Leute

und zwar hab ich folgendes vor:

Eine Dll für das myAVR Board USB MK2 Board wie hier im Link,

http://shop.myavr.de/Systemboards/myAVR%20Board%20MK2,%20best%C3%BCckt.htm?sp=article.sp.php&artID=40
hier der dll link
http://www.velleman.eu/downloads/0/user/usermanual_k8055_dll_d.pdf
die gleichen Funktionen hat.

Da ich aber das myAVR Board über Serielle Schnittstelle steuern will, 
ist jetzt meine Frage:
Ist es überhaupt möglich über eine dll eine Serielle Schnittstelle 
anzusteuern?
Wenn mit welchem Programm kann man eine solche dll Datei programmieren 
bzw gibt es schon irgendwo Anleitungen dazu

von Cyclon (Gast)


Lesenswert?

>Ist es überhaupt möglich über eine dll eine Serielle Schnittstelle
>anzusteuern?
Ja, ist möglich. Serielle Schnittstellen unter Windows anzusprechen ist 
aber etwas komplizierter (Meine Meinung).

>Wenn mit welchem Programm kann man eine solche dll Datei programmieren
>bzw gibt es schon irgendwo Anleitungen dazu
Visual Studio + Google.

von Reinhard Kern (Gast)


Lesenswert?

Peter schrieb:
> Ist es überhaupt möglich über eine dll eine Serielle Schnittstelle
> anzusteuern?

wie Loriot sagte, möglich aber sinnlos. Dafür gibt es Funktionen des 
Betriebssystems. Oder anders gesagt, die DLL ist schon da.

Gruss Reinhard

von Uwe (Gast)


Lesenswert?

Wieso ? In der dll kann man doch das finden des Richtigen Comports + 
Kommunikationsprotol + Checksummenberechnung bzw. fertige Funktionen wie 
Firmwareupdate usw. implementieren.

von bluppdidupp (Gast)


Lesenswert?

Willst du einfach nur eine DLL basteln, die andere Anwendungen nutzen 
können um auf deine konkrete Hardware einfacher zugreifen zu können oder 
wie oder was? Oder welchen Zweck soll die DLL haben?

Wie man ne dll erzeugt dürfte google etliche Treffer finden.
Für VisualStudio wirst du da konkret auf codeproject.com vermutlich 
etliche Artikel finden (da gibts auch Artikel über die serielle 
Schnittstelle)

von Peter (Gast)


Lesenswert?

Also die dll soll die Funktionen haben, den Mikrocontroller über 
Serielle Schnittstelle Daten zu empfangen und senden. In der dll wird 
ein Protokoll zusammengestellt und an den Mikrocontroller gesendet, um 
Digitale und Analoge (PWM) Ausgänge zu setzten und Digitale und Analoge 
Eingänge einzulesen.
Es geht darum aus LabVIEW eine dll einzubinden die die Unterprogramme 
verwendet.
Für das Velleman Board gibs eine dll und in der Schule wird damit 
gearbeitet. Ich würde aber gerne mit dem myAVRBoard Arbeiten bzw das 
Interesse an der eigenen dll ist auch da. Funktionen in C# schreiben um 
den Controller anzusteuern ist kein Problem aber die einzelnen 
Funktionen in LabVIEW aufzurufen gibs noch Probleme.
LabVIEW unterstützt nur _stdcall oder c. Jemand eine Idee wie man das 
Problem gelöst bekommt?

von Jonas (Gast)


Lesenswert?

Hallo,

hast du dir das hier mal durchgelesen? So weit ich das sehe brauchst du 
keine DLL. das Protokoll der zu sendenden Daten kannst du dir per 
Firmware im MK2 zusammenbauen. Am COM-Port bist du schon drann und den 
Datenstrom auseinandernehmen kann LabView erledigen.

http://shop.myavr.de/index.php?sp=download.sp.php&suchwort=LabView

da ist ne Beschreibung und ein Beispielprojekt für das was du machen 
willst drin ;-)

Gruß

von Andreas (Gast)


Lesenswert?

Du könntest Dir eine DLL erstellen auf die Labview zugreift. Hierin wird 
dann das Protokoll umgesetzt. Diese DLL wiederum nutzt interne 
Windows-Funktionen für den Zugriff auf die serielle Schnittstelle. Also 
dafür wäre dann keine DLL notwendig.

Wegen Zugriff auf serieller Schnittstelle unter Windows einfach mal 
googeln. Oder hier im Forum suchen. Ich habe hier selbst schon eine 
ganze Klasse zum Zugriff auf die serielle Schnittstelle reingestellt. 
Einige andere auch. Der Zugriff auf die serielle dürfte damit einfach 
sein und Dir erheblich Arbeit sparen

Eine DLL kannst Du auch mit dem gcc erstellen. Den kannst Du Dir 
kostenlos downloaden. Mit Eclipse oder Dev-C++ sollte es dann einfach 
sein.

von Udo S. (urschmitt)


Lesenswert?

Du solltest dein Projekt in einfache lösbare Schritte aufteilen:
1. Ein C (oder c#) Programm, das mit dem µC über die serielle 
Schnittstelle Daten austauscht.
Wenn das funktioniert:
2. Ein Protokoll ausarbeiten und in das PC Programm und den µC 
implementieren, das alle Kommunikationselemente enthält, die du 
benötigst
Wenn das funktioniert:
3. Herausfinden welche Schnittstelle eine DLL haben muss (auch API 
genannt), daß Labview sie einbinden und ansprechen kann.
4. Eine DLL mit Dummydaten schreiben und die in Labview einbinden.

Wenn das alles funktioniert dann:
5. wirfst du Punkt 2 und 4 zusammen und baust in deine DLL das Protokoll 
und die Ansteuerung der seriellen Schnittstelle ein.

von Uwe (Gast)


Lesenswert?

Habe ich mal gemacht füre LabView ist ganz eingfach gibt es auch ne 
beschreibung von NI.

http://www.labviewforum.de/attachment.php?aid=5973

von Peter (Gast)


Lesenswert?

Also Protokoll steht schon. In C# eine Dll schreiben auch kein Problem 
mit Funktionen. Mein Problem ist jetzt nur noch das die Funktionen bei 
LabVIEW noch nicht sichtbar sind.

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.