Hallo, habe mir gerade VB Express 2005 runtergeladen und mache gerade meine ersten Schritte in V. Möchte folgendes ausprobieren. Soll einfach nur ein button sein, der auf Knopfdruck einen bestimmte Zeichenfolge über die serielle Schnittstelle ausgibt. Hintergrund: Beamer kann man unter anderem über die serielle Schnittstelle ansteuern.Alle Befehle der Fernbedienung ( HEX-Format ) stehen im Handbuch. Gruß Jens
Schau mal, ob es in der Toolbox unter "Komponenten" den "SerialPort" gibt. Den kannst du verwenden. MFG Kai
Hallo Kai, den habe ich bereits gefunden. Aber wie verwende ich den ? Mein erstes Programm war so ein sound-modul a la Raab. Doppelklick auf den Button, den code ( aus dem Internet kopiert ) reingeschrieben , noch ne declaration ( auch kopiert ) drübergesetzt. Fertig und eigentlich nix pogrammiert Kann also nicht so scher sein. Was ich suche ,ist der Befehl, den ich dem button zuordenen muß, damit er was rausgibt. Gruß Jens
doppelklick: war vollkommen richtig :) Es gibt auch noch mehr "Events" diese siehst du wenn du beim Eigenschaftenfenster auf den "Blitz" klickst .. Was hinter den Kulissen passiert, braucht dich eigentlich nicht zu interessieren ... Hier dennoch eine Erklärung. Für den Event Clicked (oder wie er heisst) wird ein Eventhandler generiert (eben die Methode die aufgerufen wird). Ausserdem fügt Visual Studio automatisch zum Event Clicked die Verbindung zum EventHandler hinzu. Das erkennst du an einer Zeile button1.Clicked += NAmeEventhandler (oder so ähnlich). Somit ist dann der Event mit der EventHandling Routine verbunden. Aber wie gesagt - das Ganze braucht dich nicht zu interessieren - darum gehts ja im Endeffekt :)
aber um den seriellen Port einzubinden, muss ich ja nun in die event methoden quellcode einfügen? also ihm sagen was ich zB an den Beamer oder in meinem Fall will ich einem microcontroller binär codes senden 0001 usw.. das heißt also integerzahlen 0-9. habt ihr dafür beispiele? wäre sehr dankbar bin auch anfänger mit visual basic.. habe jedoch mit borland schon erfahrungen mit objektorientierter programmierung, bekomme hier jedoch keine serielle schnittstelle angesteuert.
Soweit ich weiss gehts folgendermaßen: Von der Toolbar die Komponente SerialPort auf die Form werfen. Du bekommst dann ein Objekt namens serialPort1. Diesem weist du dann die entsprechenden Einstellungen zu: serialPort1.BaudRate = 9600; serialPort1.DataBits = 8; serialPort1.DtrEnable = false; serialPort1.Parity = System.IO.Ports.Parity.None; serialPort1.PortName = "COM3"; serialPort1.StopBits = System.IO.Ports.StopBits.One; Die entsprechenden Einstellungen wirst du dem Handbuch des Beamers entnehmen. daraufhin öffnest du mittels serialPort1.Open(); den eigentlichen seriellen Anschluss mit den Einstellungen, die du oben gesetzt hast. Nun kannst du mittels: byte[] bs = new byte[5]; bs[0] = 0xff; bs[1] = 0x30; ... die einzelnen bytes in ein array schreiben und das dann mittels serialPort1.Write(bs, 0, 5); zum Beamer schicken. In unserem fall würde er jetzt also 1111 1111 0000 0011 ... an den Beamer schicken Ich weiss leider nicht wie die Befehle für den Beamer aussehen (nur ein Byte oder mehrere, ...)
danke danke.. habe das jetzt in den Private Sub von Form1_Load geschrieben? jedoch meckert er bei der Deklaration von byte [] bs = new byte[2]; kennt visual das nicht oder mach ich noch irgendwas falsch? und beim senden SerialPort1.Write(bs, 0, 1); bedeutet, dass er den array 0 und 1 sendet? also hier 0xff = ? und 0x30 = 0 ?
Hast du Visual Studio C++ oder Visual Basic? Es klingt mehr nach Basic.
Er schreibt von Visual Basic Express 2005. Also VB Code. Mein Code ist C# Code. Evtl. geht hier die Array Initialiserung etwas anders. Ich hatte noch nie mit VB.NET zu tun, kann also hier nicht weiterhelfen. Das hier sollte jedoch helfen: http://www.galileocomputing.de/openbook/vb_net/msvb020017.htm Write(bs, 0, 1) ... den Befehl hättest du aber schon in der MSDN nachschlagen können, aber warum denn wenn man eh hier alles vorgekaut bekommt. Er ist definiert als: Write(byte[], offset, length). kurzum: sende vom byte array, das angegeben wird, ab dem byte mit der nummer "offset" und zwar soviele bytes wie in "length" stehen. Er würde also 1 Byte senden (und zwar das erste).
sorry dann habe ich das wohl falsch interpretiert.. natürlich nutze ich dann auch lieber visual c++. das ist borland dann doch ähnlicher. nun habe ich alle deine anweisungen befolgt und wollte nun folgendes testen. Habe einfach eine neue windows form anwendung erstellt und in dem vorhanden Form1 ein Button1 erstellt. Bei Click auf diesen Button soll nun an den COM 1 Port eine 1 also binär oder in byte zu sprechen 0x31 gesendet werden. Doch beim kompilieren kommen wieder nur deklarationsfehler. Aller anfang ist doch schwer. Als Anlage habe ich die Form1.h datei beigefügt.. vllt habe ich auch einfach nur an der falschen Stelle den Quelltext eingefügt? aber wenn ich das richtig verstanden habe ist das der CLick Event Abschnitt. mfg und bitte nicht an mir verzweifeln g
Probiers mal mit C# ... ;) Das ist imho der beste Weg zu beginnen, wenn du ein wenig C/C++ sprichst.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.