Hallo Ich versuche jetzt seit etwa 3 Tagen Daten die der Atmel über die Serielle Schnittstelle schickt am PC mit Visual Basic 2005 zu empfangen. Das sind meiner ersten versuche: Dim buffer As Char() Dim offset As Integer Dim count As Integer Dim returnValue As Integer returnValue = serialport1.Read(buffer, offset, count) Allerdings bekomme ich dabei immer eine Fehlermeldung: ArgumentNullException wurde nicht behandelt. Ich komme einfach nicht weiter, in der MSDN habe ich auchschon nachgesehen
Dim buffer As Char() Dim offset As Integer Dim count As Integer Dim returnValue As Integer SerialPort1.BaudRate = 9600 SerialPort1.DataBits = 8 SerialPort1.PortName = "COM1" SerialPort1.StopBits = System.IO.Ports.StopBits.One SerialPort1.Parity = System.IO.Ports.Parity.None returnValue = SerialPort1.Read(buffer, offset, count)
Hallo! Hast du den seriellen Port auch geöffnet (also irgend ein .Open oder so?)
Hallo, wenn du dich bei AVR Freaks anmeldest, dann findest du im Projet Verzeichnis ein Free Developer Terminal für VB und C#. Ich denke der Quellcode hilft Dir ungemein weiter.
MSDN: ArgumentNullException Der übergebene buffer ist NULL (Nothing in Visual Basic). Probier's mal damit:
1 | Dim buffer() As Char = {} |
Hi Tom, die Read-Funktion macht folgendes: lese "count" Bytes(oder Chars) von der seriellen Schnittstelle und schreibe sie ab der Position "offset" in den das Array "buffer". Alle Parameter müssen vorhanden sein und definiert sein (sonst gibt es Fehlermeldungen)! Also:
1 | Dim buffer(200) as byte |
2 | Dim offset as integer |
3 | Dim count as integer |
4 | dim returnValue as integer |
5 | |
6 | offset = 0 |
7 | count = 17 |
8 | |
9 | returnValue = SerialPort1.Read(buffer, offset, count) |
Wenn Du eine unbekannte Anzahl von Bytes lesen willst, dann kannst Du die Funktion "ReadExisting" verwenden. Z.B.
1 | Dim IncommingData = SerialPort1.ReadExisting ' lese alles in einen String |
Mit "IncommingData" kannst Du dann weiterarbeiten. Bye Klaus
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.