Steuerung USB-zu-Parallel-Port mit C#
Wie Steuerung USB-zu-Parallel-Port mit C#?
USB-zu-Parallel-Port: IEEE-1284 (36Pins)
IEEE-1284 Pin-Konfiguration Image:
http://i.stack.imgur.com/b75Z5.png
OS(Betriebssystem): Windows 7 x64
Programmiersprache: C#
Mein Code:
private void button1_Click(object sender, EventArgs e)
{
try
{
int address = System.Convert.ToInt16(textBox1.Text);
int value = System.Convert.ToInt16(textBox2.Text);
AccessPort.output(address, value);
}
catch(Exception ex)
{
MessageBox.Show("Error: " + ex.ToString());
}
}
AccessPort Klasse:
static class AccessPort
{
[DllImport("inpout32.dll", EntryPoint = "Out32")]
public static extern void output(int address, int value);
[DllImport("inpout32.dll", EntryPoint = "Inp32")]
public static extern int input(int adress);
}
Habe ich die LED(Light Emitting Diode) mit D0. Wenn ich die Adresse auf 1 und der Wert auf 1 und Klicken Sie auf die Schaltfläche keinen Fehler gibt, aber die LED nicht Leuchten, weil inpout32.dll ist die Bibliothek für echten Parallel-Port, aber ich habe USB-zu-Parallel-Port oder Meiner Adresse und der Wert ist Falsch für USB-zu-Parallel-Port.
How to Light Up LED-mit USB-zu-Parallel-Port(LPT) mit C# Programmiersprache ?
- Haben Sie versucht, Ihren code mit Visual Studio als administrator? Nur um zu überprüfen, ob es eine Frage der Sicherheit.
- Ja habe ich versucht aber es nicht gibt keine Fehler. Ich denke, dass problem ist in der Bibliothek, die ich verwende USB-zu-Parallel-Port, und ich denke, inpout.dll funktioniert nur mit echtem Parallel-Port oder ein problem in Anschrift: USB hat eine Andere Adresse
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was falsch ist es wird der port-Adresse ist nicht 1. Zum prüfen der port-Adresse, gehen Sie zu Geräte-manager, erweitern Sie Anschlüsse(COM & LPT), Doppel-klicken Sie auf den lpt-port(parallel port), die Sie wollen, und gehen Sie auf die Registerkarte Ressourcen und Holen Sie sich diesen Wert(siehe link unten)
http://i.imgur.com/kcEMCGY.png
dann müssen Sie ändern, wie Sie konvertieren die Adresse einer int-Datentyp, da die port-Adresse in hexadezimaler Form:
int Adresse = System.Konvertieren.ToInt16(textBox1.Text, 16);
dann in die Adresse textbox nur dieser Wert(in meinem Fall ist es 0378).
inpout.dll
ist, was macht die Bedienung des LPT-Ports manuell wie in dieser Arbeit - Sie können nicht tun Sie es mit einem USB-LPT-port ohne Zugriff auf die Hersteller-DLL-Dateien (falls es unterstützt die direkte bit-Manipulationen - nicht wahrscheinlich) oder schreiben Sie Ihre eigenen Treiber für die hardware.