Hallo Leute,
ich bin gerade auf der Suche nach einer Lösung für folgendes Problem:
Ich würde gerne eine Methode in C# starten nachdem man einen Druckschalter gedrückt hat.
Sprich man hat einen Druckschalter (EIN//AUS Schalter wie beim PC) angeschlossen und man drückt drauf dann soll er z.B. "Hallo" am Bildschirm ausgeben. Kann mir einer sagen wie ich das in C# einbinden kann bzw. über welche Schnittstelle kann ich den Knopf ansprechen? Serial? USB (bevorzugt)?
Das man Quasi sagt wenn beim Serial Port an Pin 1 und Pin 2 Kontakt herrscht starte die Methode?
Hoffe ihr könnte mir helfen =)
lg Prophet
Hallo prophet2812,
bau dir einen Service, der sich auf das Event registriert. Welches Event geschmissen wird, wenn du den Knopf drückst, können wir dir nicht sagen. Das bekommst du mMn über die API des Herstellers raus.
Der Service registriert sich auf das Event und reagiert dann auf das Event.
Basic serial port listening application schaut auch interessant aus
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Hallo,
hier ein Beispiel wie man es machen kann:
VORSICHT: NICHT GETESTET!
namespace ConsoleSerialPort
{
class Program
{
static void Main(string[] args)
{
SerialPort port = new SerialPort("COM1");
port.Open();
port.PinChanged += new SerialPinChangedEventHandler(port_PinChanged);
//Ausgangssignal setzen RTS oder DTR (sollten mit Optokoppler entkoppelt sein!)
port.RtsEnable = true;
port.DtrEnable = true;
}
static void port_PinChanged(object sender, SerialPinChangedEventArgs e)
{
SerialPort port = sender as SerialPort;
//Eingangssignal einlesen
switch (e.EventType)
{
case SerialPinChange.Break:
break;
case SerialPinChange.CDChanged:
break;
case SerialPinChange.CtsChanged:
Console.WriteLine("CTS Signal: " + port.CtsHolding.ToString());
break;
case SerialPinChange.DsrChanged:
Console.WriteLine("DSR Signal" + port.DsrHolding.ToString());
break;
case SerialPinChange.Ring:
break;
default:
break;
}
}
}
}
Gruß
Steffen