Hallo,
Ik heb nog niet veel verstand van electronica, en zeker niet van programmeren.
Ik heb een velleman K8055 USB interface kaart, maar om deze te programmeren staat op de site dit:
""De K8055 interfacekaart heeft 5 digitale ingangskanalen en 8 digitale uitgangskanalen. Bovendien beschikt u over twee analoge ingangen en twee analoge uitgangen met 8-bit resolutie. U kunt het aantal ingangen/uitgangen verder uitbreiden door max. 4 kaarten aan te sluiten op de USB connectors van uw pc. Alle communicatieroutines zitten in een Dynamic Link Library (DLL). U kunt op maat gemaakte Windows (98SE, 2000, Me, XP) toepassingen schrijven in Delphi, Visual Basic, C++ Builder of met om het even welk ander 32-bit ontwikkelingstool voor Windows die een DLL kan oproepen.""
Betekend dit dat er ook in C# geprogrammeerd kan worden, want ik las op internet dat die makkelijk en nieuw was. of weet iemand anders een makkelijke taal. (en in welk programma kan ik programmeren en er een .exe van maken?)
jeroen
buckfast_beekeeper
Van Lambiek wordt goede geuze gemaakt.
Zowat elke moderne programmeertaal kan een DLL aanroepen.
C# nieuw en gemakkelijk? Bestaat toch al minstens sinds 2003. In de Visual Studio .NET 2003 zat het toch al in. Gemakkelijk is ook niet het juiste woord. Het is een C-achtige taal. Maar dat is Java ook.
VB .NET vind ik persoonlijk bagger. C# iets minder bagger. Geef mij dan maar Java. Al is het nu ook al weer een tijd geleden dat ik het nog gebruikt heb.
In Java maak je er een executabel jar van. Wil je absoluut een .exe, dan kan dit met advanced installer. Dit is wel betalende software terwijl je al de rest voor Java gratis kan. JDK op de website van Sun, Eclipse als IDE en je bent vertrokken. Java is platform onafhankelijk. Zowel te gebruiken op een Linux, Mac of Windows.
Voor C++ kan je ook Eclipse gebruiken.
Maar buckfast_beekeeper,
Werkt JAVA dan ook op de K8055? Kan deze dan ook "een DLL oproepen"?
Als JAVA niet zo moeilijk is dan ga ik dat proberen, tenminste, als het op de k8055 werkt.
jeroen
Alle fatsoenlijke programmeertalen en wat daarbij hoort op windows kunnen een dll gebruiken. De manier waarop verschilt en het is het handigst, zeker omdat je een beginner zegt te zijn, om een taal te kiezen waar voorbeelden voor zijn om met de K8055 te werken.
Als je het idee van programmeren eenmaal door hebt dan is eventueel overstappen naar een andere taal betrekkelijk eenvoudig.
zelf ben ik een tijd bezig geweest met deze kaart. De software schreef ik in Delphi (pascal). Over deze taal heb ik prettige ervaringen. De dll file kan je makkelijk in je software aanroepen.
succes.
Hallo,
Ik heb het gedownload, en in de map Delphi zitten dan:
K8055.dfm
K8055.pas
K8055_Demo.dpr
K8055_Demo.res
K8055D.dll
K8055D.dpr
Dat ik de K8055D.dll niet moet gebruiken, maar in de system32 zetten dat weet ik al.
maar wat moet ik met de andere bestanden? kan alles verwijderd worden behalve 1tje of heb ik alles nodig, en welke is de source code?
jeroen
Hallo
ik heb nu EditPad Pro gedownload. hiermee zou ik pas files kunnen openen, maar hoe maak ik van deze files een programma zodat ik kan testen welke ik nodig heb en welke niet? (volgens mij heet dit compilen, maar hoe moet dat?)
ik heb nu de pas geopend en bijvoorbeeld dit stukje:
{$R *.DFM}
function OpenDevice(CardAddress: Longint): Longint; stdcall; external 'K8055d.dll';
procedure CloseDevice; stdcall; external 'K8055d.dll';
function ReadAnalogChannel(Channel: Longint):Longint; stdcall; external 'K8055d.dll';
procedure ReadAllAnalog(var Data1, Data2: Longint); stdcall; external 'K8055d.dll';
procedure OutputAnalogChannel(Channel: Longint; Data: Longint); stdcall; external 'K8055d.dll';
procedure OutputAllAnalog(Data1: Longint; Data2: Longint); stdcall; external 'K8055d.dll';
procedure ClearAnalogChannel(Channel: Longint); stdcall; external 'K8055d.dll';
procedure ClearAllAnalog; stdcall; external 'K8055d.dll';
procedure SetAnalogChannel(Channel: Longint); stdcall; external 'K8055d.dll';
procedure SetAllAnalog; stdcall; external 'K8055d.dll';
procedure WriteAllDigital(Data: Longint);stdcall; external 'K8055d.dll';
procedure ClearDigitalChannel(Channel: Longint); stdcall; external 'K8055d.dll';
procedure ClearAllDigital; stdcall; external 'K8055d.dll';
procedure SetDigitalChannel(Channel: Longint); stdcall; external 'K8055d.dll';
procedure SetAllDigital; stdcall; external 'K8055d.dll';
function ReadDigitalChannel(Channel: Longint): Boolean; stdcall; external 'K8055d.dll';
function ReadAllDigital: Longint; stdcall; external 'K8055d.dll';
function ReadCounter(CounterNr: Longint): Longint; stdcall; external 'K8055d.dll';
procedure ResetCounter(CounterNr: Longint); stdcall; external 'K8055d.dll';
procedure SetCounterDebounceTime(CounterNr, DebounceTime:Longint); stdcall; external 'K8055d.dll';
procedure TForm1.Button3Click(Sender: TObject);
var h,CardAddr:longint;in elke regel staat wat hij doet, maar waar staat aan welke knop dat vast zit: bijvoorbeeld: SetCounterDebounceTime staat niet dat het aan de knop "reset" vast zit
Oke, bedankt
ik ben nu net bezig met downloaden dus dat kan nog even duren.
maar wat ik net liet zien in die code.
hoe werkt dat eigenlijk, want er staat niet bij welke opdracht bij welke knop hoort, of staat dat in de K8055.dll (die kan ik niet lezen
)
Op 17 november 2010 07:18:32 schreef beginner(tje):
Maar buckfast_beekeeper,
Werkt JAVA dan ook op de K8055? Kan deze dan ook "een DLL oproepen"?
Als JAVA niet zo moeilijk is dan ga ik dat proberen, tenminste, als het op de k8055 werkt.jeroen
Ja, JAVA werkt ook. Ik zou dat aanraden omdat het platform onafhankelijk is. VB is weer gekoppeld aan MS. JAVA werkt altijd, dankzij VM.
Wij hebben een hartslag monitor gemaakt met JAVA en de k8055... Erg leuk.
NETBEANS is een fijn programma..
Beginnertje heb je al wel eens software geschreven?
Uit je vragen en opmerkingen vermoed ik dat je nog nooit een geprogrammeerd hebt. Meteen iets maken wat iets externs aanstuurd en met dll gaan klooien is dan wat lastig.
Geen enkele programeer taal is in weze goed of slecht. Het is slechts een een manier om voor de computer uitvoerbare opdrachten te genereren in een min of meer voor mensen begrijpbare taal. Deze taal word door een compiler of interprenter vertaald naar iets waar de computer iets mee kan. (bijvoorbeeld een EXE bestand)
Niet dat programeren echt moeilijk is. Ik zetten mijn eerste schreden op dat gebied toen ik nog in groep 8 van de basisschool zat.
@mbbneon, Ik heb nu een map gemaakt waar de javac en de MijnNaam.java in staan.
Ik heb hem aan de PATH toegevoegd.
Eerste keer in cmd zei hij "er mist een jri.dll" die heb ik erin gezet, en nu staat er dit:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
E:\Documents and Settings\Owner>javac MijnNaam.java
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac/M
ain
Caused by: java.lang.ClassNotFoundException: com.sun.tools.javac.Main
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: com.sun.tools.javac.Main. Program will exit.
E:\Documents and Settings\Owner>De code van de MijnNaam.java is
public class MijnNaam {
public static void main (String[] args) {
System.out.println("Mijn naam!");
}
}Wat doe ik nu eigenlijk verkeerd?
@Jan Klaasen
Ik heb nog nooit echt geprogrammeerd, maar daarom probeer ik deze tutorial eens, het is volgens mij niet echt een moeilijke tutorial, en ik ga ook nog niet meteen iets programmeren voor mijn electronica, daar begin ik mee als ik een beetje kan programmeren.
Jeroen
Hallo ik zit ook met een probleem
ik heb altijd het k8055d bordje op school gebruikt maar nu wou ik het thuis gebruiken
mijn leraar zei dat enkel het d8055d.dll bestand in win32 plaatsen zou volstaan om het bordje te laten runnen maar wanneer ik nu een programma probeer te simuleren (wat in school wel werkte) krijg ik volgende fout wanneer ik op "connect" klik
waarde_schakelaar = ReadAllDigital >> wordt geel gemarkeerd
Poging om een programma te laden met een onjuiste indeling. (Uitzondering van HRESULT: 0x8007000B)
volgens mij klopt er toch nog iets niet met de "installatie" van het bordje
kan iemand me (vlug) helpen?
grtz
Hallo,
Misschien is het bestand K8055D.dll niet goed? (opnieuw downloaden en erin zetten)
Misschien kan je het demo programma downloaden om te testen of die het wel doet met dat programma.(als je dat nog niet hebt gedaan)
wat er verder aan de hand zou kunnen zijn weet ik niet, ik heb die error nog nooit gehad.
Of misschien is het programma die je gebruikt niet goed (poging om programma te laden MET ONJUISTE INDELING)
Jeroen
[Bericht gewijzigd door beginner(tje) op (14%)]
Waarschijnlijk een 32-bit/64-bits compatibiliteit probleem (32-bit DLL in 64-bits programma of andersom). Als het programma een .NET applicatie is (en je systeem 64-bits) moet je het niet als AnyCPU compileren maar als 32-bit.
hmm ik heb ondertussen verder geprobeert en een andere DLL gevonden, het demo programma werkt wel
maar als ik deze code kopieer in een ander programma krijg ik weer dezelfde error