Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Ja das ist schon klar. Ich hab jetzt lang rum probiert, aber ich komm mit der Win-Konsole bzw. der Powershell einfach nich klar =/Nur um sicher zu gehen das wir nicht an einander vorbei reden, damit die daten Richtig übertragen/empfangen werden, reicht es nicht aus nur die Übertragungs rate in deinem Programm zu ändern, die Baudrate muss auch auf dem Chip geändert werden.
Wie gesagt ich würde es mal mit einem Terminal-Programm probieren ob das Resultat das selbe ist am Laptop.
Also speziell konfiguriert bzw. Treiber installiert habe ich nicht. Beides Windows-Standardtreiber. Kann da ein Unterschied sein zwischen Win8 und Win10? Der Treiber ist (wohl) uralt, da sollten beide den gleichen haben.Da du vermutlich eine USB-Serial Adapter benutzt weiß ich, dass die Teilweise ziemlich zickig sind. Sind die Treiber dafür auf Laptop/PC identisch konfiguriert?
aber ich komm mit der Win-Konsole bzw. der Powershell einfach nich klar =/
Als Referenz kannst du auf deinem Zielsystem mit Windows 10 mit C# den Code nachbauen. Da gibt es eine Serialport-Klasse, die ist sehr einfach zu bedienen. Wenn dasselbe Ergebnis kommt, könnte es der Treiber sein.
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
SerialPort oPort = new SerialPort("COM3"); oPort.BaudRate = 38400; oPort.Parity = Parity.None; oPort.DataBits = 8; oPort.StopBits = StopBits.One; string sCmd = Console.ReadLine(); oPort.Write(sCmd + '\r'); System.Threading.Thread.Sleep(1000); string sMsg = oPort.ReadExisting(); Console.WriteLine(sMsg); |
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »kylecorver« (05.10.2015, 18:32)
Dementsprechend würde ich ein Problem mit den Treibern ausschließen, richtig?
Zitat von »http://elmelectronics.com/DSheets/ELM327DS.pdf«
Don’t forget to also
set your connection for 8 data bits, no parity bits, and 1
stop bit, and to set it for the proper ‘line end’ mode.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Koschi« (05.10.2015, 18:25)
Zitat
Ruft den Wert ab, mit dem das Ende eines Aufrufs der ReadLine-Methode und der WriteLine-Methode interpretiert wird, oder legt diesen fest.
C#-Quelltext |
|
1 |
static volatile SerialPort moPort; |
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 |
moPort = new SerialPort("COM3"); moPort.BaudRate = 38400; moPort.Parity = Parity.None; moPort.DataBits = 8; moPort.StopBits = StopBits.One; moPort.NewLine = "\r"; moPort.Handshake = Handshake.RequestToSend; moPort.ReadTimeout = 5000; moPort.Open(); |
C#-Quelltext |
|
1 2 3 4 5 6 7 8 |
for (; ; ) { foreach (string sPID in Car.getAvailablePIDs()) { moPort.WriteLine("01 " + sPID); Thread.Sleep(50); } } |
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
for (; ; ) { string sResult; try { sResult = moPort.ReadLine(); } catch (TimeoutException) { return; } } |
Werbeanzeige