PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : K8055 USB Board mit C++ Konsolenanwendung



Worstcase
12.04.2005, 20:41
so das hier wird also mein erster Beitrag, ich hab mir vor wenigen Tagen von Velleman das K8055 USB Board zugelegt. Leider existieren nur dokus zu Borland C++ Builder und Beispiele für Visual C.Net. Ich hab das ganze mal ein wenig vereinfacht so das man das board auch mit einer konsolenanwendung benutzen kann wenn man erst mal aus der mfc demo alles rausgesucht hat was irgendwie zu den fenster gehört wird das ganze plötzlich ganz einfach. Anbei die Source zu einem programm was den analogport abfragt und den eingelesen wert in der konsole ausgibt eun anschließend an den 8 Bit Digital Port weiterleitet. der rest ist in der source beschrieben. hoffe es ist halbwegs verständlich. programmiere selber erst seid 2 Monaten mit cpp.
Also ich hoffe ich konnte jemanden helfen damit

[color=#0051ff]// einfache Konsolenanwendung für die K8055 Karte von Velleman
// datei K8055d.h und K8055_VC.lib von der velleman seite
// K8055_MFC_NET2.zip <- besser als Datei auf CD ist wenigsten dokumentiert

#include "K8055D.h" //muss sich im Projektverzeichniss befinden
#pragma comment (lib, "K8055D_VC.lib") //muss sich im Projektverzeichniss befinden
#include <iostream> //wichtige include für standard ein- und ausgabe in der Konsole

using namespace std; //muss sein macht die sache einfacher von cout u.s.w.

int main ()
{
OpenDevice(0); // Karte mit der Adresse 0 öffnen

long a;

// die Schleife wird solange bearbeitet wie der Anlogwert größer 1
do{
a=ReadAnalogChannel(1); // Lese analogwert von Eingang 1
cout << a << endl; // gebe Wert in der Konsole aus
WriteAllDigital(a); // gebe Wert am Digitalausgang aus
}while (a > 1); // solange wiederholen wie anawert größer 1

ClearAllDigital(); //alle Ausgänge auf 0
CloseDevice(); // Karte schließen

return 0;
}

flooze
15.04.2005, 13:26
servus!

falls du das Visual Studio mit VC in irgendeiner form zu verfügung hast, dann benutz lieber einen dialog zum rumspielen mit dem board als ein konsolenprogramm. mit einem dialog bist du flexibler.

Pröbler
18.04.2005, 22:13
Hallo, super endlich habe ich das Board mit einem eigenem Progi ansteuern könne. Die K8055D_VC.lib war auf der CD zum Board gar nicht dabei, und nach dem ich noch alle DLLs von der Velleman Page heruntergeladen und installiert hatte, hats dann endlich funktioniert. Das einzige Problem ist, dass manchmal die 8 Digitalports unsauber schalten, die LEDs gehen manchmal beim einschalten an einem anderen Port aus, oder ein Port weiter schaltet auch eins ein. Hast du dieses Problem auch? Auf jede fall herzlichen dank für deinen Beitrag, hat mir sehr weitergeholfen. O:) \:D/ O:)

Worstcase
23.04.2005, 10:25
Das Problem habe ich bis jetzt noch nicht beobachtet.

Worstcase
25.04.2005, 17:56
so ich hab das ganze jetzt noch mal getetest, es scheint so als würde es probleme geben wenn das device nicht geschlossen wird "CloseDevice();" was bei einem unerwarteten Programmabruch vorkommen kann, mein Rekord sind 28 Geöffnete Karten hab mich beim letzten versuch etwas vertan. aber bereits bei einem laufenden device treiber kommt es zu problemen. werde demnächst ein neues programm posten.

nozzle
07.05.2005, 14:06
@Worstcase: Danke erstmal für die Infos. Das Programm ist echt gut abgespeckt und übersichtlich. Komischerweise funktioniert es bei mir trotzdem nicht.
Beim compilieren bekomme ich immer einen fehler, sobald der Header K8055D.h eingelesen wird. Der Compiler sagt dann "expected constructor, destructor, or type conversion before ';' token". Ich benutze den Dev-C++ Compiler. Hast du vielleicht eine Ahnung, woran das liegen könnte?

Worstcase
08.05.2005, 20:49
ich habe das programm im ms vs6 geschrieben, möglicherweise liegt es ja an deinem compiler. koomentier doch einfach mal zeile für zeile aus. ich könnte mir vorstellen das das problem ganz am anfang mit pragme anweisung liegt, ist soweit ich bis jetzt durchgestiegen bin eine compiler direktive möglicherweise ist das ja visual studio only und bei deinem compiler geht das anders.

gruß
thorsten

nozzle
10.05.2005, 15:49
stimmt. Es liegt wirklich an dem Compiler. Habe MS VS installiert und jetzt geht's. Hab allerdings noch nicht herausgefunden, mit welcher Anweisung der Dev-C++ die Probleme hatte. Komischerweise lässt sich das Programm jetzt übersetzen, liefert aber einen Laufzeitfehler, sobald ich die Funktion OpenDevice() starte ("Die Ordnungszahl 21 wurde in der DLL "K8055D.dll" nicht gefunden").
Soweit ich weiss sollte der Befehl
"#define FUNCTION __declspec(dllimport)"
in der K8055D.h dafür sorgen, dass die Funktionen in der DLL mit dem Namen und nicht mit einer Nummer aufgerufen werden.
Weiss jemand von euch woher der Fehler kommt?

georgt
12.05.2005, 14:38
Hi,

das Problem besteht nicht mehr, sobald du die alte "K8055D.dll" durch die dll ersetzt welche in diesem Archiv enthalten ist: K8055_MFC_NET2.zip

Ich habs gemacht, und es läuft anstandslos!


MFG Georg

AgentMulder
12.08.2005, 08:15
hat das mal jemand in java eingebunden, kann die dll zwar anstandslos laden, aber mein prog fliegt raus sobald ich OpenDevive(long adr) aufrufe. habs auch mit c sharp getestet, da kann ich sie laden und auch connecten, bekomme aber ganz misteriöse werte wenn ich zum beispiel den analog eingang auslese. wenn ich das c# prog dann schliesse gibts auch immer nen ausnahmefehler an addresse xyz...


hoffe mir kann einer mit dem java problem weiterhelfen, vielen dank, mulder!

georgt
12.08.2005, 08:55
Was ich noch festgestellt habe ist:

Die dll hier funktioniert bei mir nur unter Win98 und auch nur in Verbindung mit M$ Visual C++

Mit der DLL die orignal beim Board dabei ist, klappts auch mit Borland C++ und allen Windows Versionen! (Blöderweise aber nicht mehr mit Visual C++, was aber verschmerzbar ist -> für mich!)

Vielleicht solltest du die original Version mal testen! Im Lieferumfang waren ja ein paar Codeschnipsel dabei. Damit ging das bei mir!!

Sorry mit Java hab ich keine Erfahrungen

Gruss Georg

AgentMulder
12.08.2005, 16:51
hab rausgefunden das man dll nicht so ohne weiteres unter java verwenden kann. die müssen wohl vorher eine spezielle prozedur durchlaufen, irgendwie java klasse mit allen funkionen (abstract) der dll erstellen, dann irgendwie javah auf diese datei ausführen und man erhält eine c header datei (*.h) diese muss dann wiederum mit der dll gekoppelt werden. das geschieht irgendwie mit JNI (java native interface) mhh...

aber unter c# funzt es jetzt :)

mchrhill
04.10.2005, 09:29
Hallo,
ich versuche, mein USB-Board VM110 von Velleman mit Visual C++ zu programmieren. Der Hinweis auf die K8055_MFC_NET2.zip schien mir hilfreich.
Nur: Ich habe bei www.velleman.be->Suppoprt->Downloads nichts dergleichen/oder ähnlichem gefunden. Nur VB, Delphi, ...
Wo muss man suchen?

MKaiser
09.10.2005, 00:54
Hi,
ich versuch grad das gleihce nach ein bisschen Googeln hab ich die K8055_MFC_NET2.zip unter
http://www.velleman.be/downloads/files/Downloads/K8055_MFC_NET2.zip
gefunden viel erfolg damit ;)

mchrhill
15.10.2005, 12:37
Hallo,
Danke fuer den Tip. Der Link funktioniert inzwischen nicht mehr, aber Velleman hat nun einen neuen Treiber K8055D_C ganz vorne in die Download-Liste gepackt, mit dem ich ein Prograemmchen mit VC++ erstellt und getestet habe.
Damit koennen nun auch die VC++-Leute gut leben, glaube ich.

JensSchyma
20.11.2005, 19:13
hi
ich habe auch dieses Bord und ich fände es schön wenn einer von euch ein Beispiel Programm das mit Dev C++ funktioniert.Ihr könt es hier reinschreiben oder in dieses Thema:https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=14460&highlight=dev+c&sid=c95fbc668d8dbda11c09c5c8d4b1cbcc
ich bin für alle einträge dankbar!!!

mchrhill
23.11.2005, 09:34
Hallo,
das duerfte ein Problem sein: Man braucht dazu einem zum Compiler/Linker passende K8055-Bibliothek. Dev C++ erwartet einen Library-File mit der Endung ".a", soweit ich weiss. Und die wird von Velleman nicht bereitgestellt. Oder hat jemand sowas irgendwo vielleicht gefunden?

JensSchyma
23.11.2005, 12:49
hi schonmal danke für die antwor auch wenn sie mir nicht weiter hilft.Wenn ihr doch noch wisst das es geht dann schreibt es bitte.Danke

TMaske77
30.12.2005, 15:52
Ich programmiere gerade meine Technikerarbeit mit Labwindows von National.

Also Compiler habe ich den C++ angegeben. Nun habe ich, da ich mit der alten DLL einige Fehlermeldungen hatte, die neue DLL eingebunden und habe nun folgendes Problem

Wenn ich mit ClearDigitalChanel einen Chanal lösche gehen alle Ausgänge aus...
Hat jemand von euch dazu eine Idee???

salocinx
06.01.2006, 19:26
Hey Mulder!

Wenn du das K8055 via Java ansteuern möchtest, dann schau doch mal auf http://www.wenzlaff.de/twusb.html vorbei. Der Thomas hat das ganze auf Java portiert. Aber leider nur unter Windows verwendbar (macht eigentlich nicht viel Sinn?! ](*,) ), da man die K8055x.dll doch noch braucht. Aber falls du einfach nur Java kannst, hilft dir dies bestimmt weiter.

Grüsse salocinx!

JensSchyma
28.01.2006, 11:42
Hi
Wenn jemand weiß ob es ein copiler gibt der kostenlos ist c++ und mit dem K8055 bord funktioniert kann er es bitte posten danke
Gruß Jens

salocinx
28.01.2006, 13:09
ja sicherlich, schau doch mal auf dem folgendem link nach:

http://www.mingw.org/download.shtml

Zuerst die Installationsanleitung gut durchlesen!!

Grüss Dich, salocinx

Ilpalazzo
01.07.2006, 08:09
habs auch mit c sharp getestet, da kann ich sie laden und auch connecten, bekomme aber ganz misteriöse werte wenn ich zum beispiel den analog eingang auslese. wenn ich das c# prog dann schliesse gibts auch immer nen ausnahmefehler an addresse xyz...

Okay, das hier ist ein etwas älterer Thread, ich weiß also nicht ob Du
a) Das Forum hier überhaupt noch liest und
b) Weißt wie Du das Problem damals gelöst hast
aber gelöst habem mußt Du es, denn nur ein paar Postings darauf schreibst Du daß es in C# jetzt funktioniert.
Da ich genau das gleiche Phänomen habe (DLL-Funktionen lassen sich per DllImport problemlos importieren und das Board darüber ansteuern, aber beim Beenden des Programmes gibt es einen Ausnahmefehler) und das hier so ziemlich die einzige Diskussion zu dem Thema war, die ich per Google gefunden habe, hoffe ich mal Du kannst mir vielleicht sagen wie Du es hinbekommen hast.
Schon mal vielen Dank :)

die_m_und_ms
08.07.2006, 07:22
Hy, ich arbeite an meiner Projektarbeit und jeder sagt der Conrad-Bausatz von Velleman K8055 arbeitet mit Dev c++ als Konsole zusammen. Aber ich bekomme das nicht hin und die Zeit wird Knapp.
Kann da jemand mit einem Quellcode halfen.
Ich möchte den Bausatz öffnen, den analogen Port auslesen und einen Digitalen Ausgang schreiben und alles dann schließen

Vielen, vielen dank
marcus

Soulguard
19.08.2006, 13:12
Die Dateien K8055d.h und K8055_VC.lib gibt es auf velleman.be mittlerweile nicht mehr. Ich wäre sehr dankbar wenn Sie mir jemand schicken könnte [-o<

Senfgurke(at)gmx.net

thx

Tyrald
04.12.2006, 11:40
Hi!

Ich habe Probleme mit dem Velleman USB Board in Visual Basic2005Express!

Habe alles so eingerichtet wie es in der Deutschen Hilfedatei aus dem Download http://www.velleman.be/downloads/files/downloads/k8055_dll_2_001.zip steht!
Und denoch meckert der Debugger in VB2005Express an der Stelle rum wo OpenDevice(0) ausgeführt wird nachdem man einen "Verbinden"-Button gedrückt hat!

Fehlertext:
Ein Aufruf an die PInvoke-Funktion "USB-Tester!WindowsApplication1.USBkartentester::OpenDe vice" hat das Gleichgewicht des Stapels gestört. Wahrscheinlich stimmt die verwaltete PInvoke-Signatur nicht mit der nicht verwalteten Zielsignatur überein. Überprüfen Sie, ob die Aufrufkonvention und die Parameter der PInvoke-Signatur mit der nicht verwalteten Zielsignatur übereinstimmen.
:-s

Kann mir da jemand Helfen?! Bitte!!! Ich kapiers einfach nicht-

Grüße,
Thomas

michas_rob
24.01.2007, 18:05
Ich bin neu in der PIC Welt....
Würdet ihr mir das VM 110 Project Board empfehlen???
Und gleich noch eine Frage, kann man mit diesem Board auch einen PIC der 18er Familie brennen???

Dankeschön

Michael

SIGINT
25.01.2007, 16:52
@michas_rob:
Du hast nicht ganz den Zweck des K8055-Boards verstanden:
Das Teil ist kein Entwicklungs-Board für PICs, sondern ein Ein- und Ausgabe -Interface für den PC. Der PIC auf dem Board ist schon programmiert und hat eine feste Aufgabe. Du kannst mit dem K8055 externe Hardware wie Schrittmotoren, Lampen und vieles mehr ansteuern.

Gruß,
SIGINT

elvis
12.05.2007, 15:39
Hallo

Ich hab es nun endlich geschafft wieder eine Baustelle anzufangen, von
der ich im Grunde genommen nicht viel Ahnung habe, die mir schlaflose
Nächte bereitet und vor allem tausende neue Folgeprojekte mit sich
bringt mit ähnlichen Eigenschaften.

Dabei ist mein Ziel, mir so viele Custom Panels für meinen geliebten
Flugsimulator X-Plane zu bauen wie es mit meine Möglichkeiten zulassen
(wie ich vor allem bei professionellen Herstellern sehen kann sind die
Möglichkeiten nahezu unbegrenzt.)

Nachdem ich einige Knöpfe an einer modifizierten Tastatur festgelötet
hatte, habe ich meine Ersten „Hardwarebau“-Erfahrungen mit dem
LPT-Switch gemacht. (mehr Infos über dieses Projekt gibt’s hier
http://www.x-plane.de/forums/index.php?showtopic=1...)

Danach bin ich auf ein etwas komplexeres Projekt eines X-Plan-Kollegen
gestossen, welches ich dank seiner Grosszügigkeit nun mein eigen nennen
kann. Es arbeitet mit einem ATMEL Chip, einer USB Schnittstelle und hat
ein LCD Display (mehr Infos zu diesem Projekt gibt’s hier
http://www.x-plane.de/forums/index.php?showtopic=1...)

Diese Architektur war dann auch der Grund warum ich in diesem Forum
gelandet bin. Ich habe mich ein bisschen in das Tutorial AVM-Tutorial von mikrocontroller.de eingelesen und
mir in einem Kaufrausch auch gleich das STK500 von ATMEL zugelegt
(Welches bis jetzt noch unberührt in der Verpackung liegt). Des Weiteren
bin ich auf das K8085 USB Experimentier Interface gestossen (Bausatz)
welches ich für eine gute Übung um Löterfahrung zu sammeln hielt. Dies
habe ich dann auch nach 6 Stunden Arbeit und ohne grosse Zwischenfälle
zum Laufen gekriegt (wie mir die Demo Software deutlich beweist).


Meine Grundlagen:

Programmieren ist für mich kein Neuland (Ich arbeite mit PHP und JAVA)
privat habe ich wenige Erfahrungen mit c++ gesammelt (dies vor allem im
Bezug auf den Plugin-SDK von X-Plane) welche ich auch gerne noch weiter
ausbauen würde. Des Weiteren bin ich auf Assembler gestossen (was mich
vor allem im weiteren Verlauf beim Tutorial erwartet).

Dieser Beitrag wurde auf MAC OS-X geschrieben was ich auch als meine
Hauptplattform bezeichnen kann, obwohl ich nebenbei noch eine Windows
Mühle als Ausweich-Variante stehen habe. Ich verfüge über X-Code, wo ich
auch schon meine ersten C++ Programme mit erfolg kompiliert habe.

Um auch gleich mit meinem ersten Beitrag auf meine erste Frage zu
kommen. Gerne würde ich noch etwas mit dem K8055 herumspielen, bin aber
dabei bereits auf die ersten Hürden gestossen. Ich habe mit dme am anfang dieses treads erwähnten Code begonnen um zu sehen, ob ich die Karte überhaupt
ansprechen kann. leider habe ich die in diesem Code beschriebenen .lib Datei nicht
gefunden. Ich habe dann mit dem Header und der Lib Datei von der
Velleman Seite probiert den Code in X-Code zu kompilieren. Leider ohne
erfolg. Beim suchen bin ich dann auf folgendes Projekt gestossen,
welches die Lösung für mein Problem sein könnte.
http://sourceforge.net/projects/k8055mac/ Ich habe dann wieder versucht
den vorher geschilderten C++ Codes mit dem Mac-Header zu kompilieren.
Leider wieder ohne erfolg. Die Dateien im Macprojekt so zu analysieren
dass ich auf die Lösung komme kann ich nicht, da mir das Projekt noch zu
komplex ist. Wenn aber Jemand eine Lösung wüsste wie ich den kleinen
am anfng erwähnten Code (oder einen Ähnlichen) unter dem Mac
kompilieren kann währe ich sehr dankbar.

Und seit bitte nicht überrascht oder genervt, wenn dies nicht meine
erste Anfängerfrage bleibt.

Mit besten Grüssen

Sascha

fm-soft
18.06.2007, 10:06
Hallo alle zusammen, da ich auch ein k8055 "Entwickler" bin, habe ich ein Forum erstellt, indem ich Informationen bündeln möchte. erreichen kann man es unter: k8055.fm-soft.de oder www.fm-soft.de/k8055 es wird ab Mi den 20.06.07 zur Verfügung stehen. ich freue mich über Infos oder Fragen!

fm-soft
02.08.2007, 19:08
Hallo ihr alle,

Da ich mich auch schwer mit dem Programmieren eines K8055 USB Boards beschäftige, und dauernd auf Probleme stoße, habe ich ein Forum eingerichtet, indem man sich austauschen kann. Ich hoffe damit eine größere Breite ansprechen zu können, so dass jeder seine Probleme schnell beantwortet bekommt.

www.fm-soft.de/k8055

MfG:

FM-Soft