Daten von einen Motorsteuergerät empfangen (Serial Port)
Verfasst: 04.03.2016 20:07
Schönen guten Abend.
Zur Information, damit ein kleiner Einblick da ist wodrum es ungefähr geht ein Link zu meinem anderen Thread: http://purebasic.fr/german/viewtopic.php?f=16&t=29477
Dort geht es um die Kommunikation zu einem Simulator über einen Virtuellen Port
Ich habe bis jetzt damit weiter gearbeitet und dank der Hilfe aus dem Forum auch ohne Probleme.
Da ich nun endlich meine Kabel zugesendet bekommen habe (ELM327 v1.5 / OBD2 Diagnose), konnte ich nun mein Programm unter realen Bedingungen testen. Zu Testzwecken habe ich über ein bereits funktionierendes Diagnose Programm genommen um die Funktionalität des Kabels zu überprüfen, und es läuft tadellos. Danach habe ich über Putty/Termite bzw. Tera Term, also über einen Terminal versucht, die Daten die ich sonst über mein Programm an das Steugerät sende, zu verschicken. Ebenfalls mit vollen Erfolg, aber auch erst als ich die Baudrate auf 38400 gestellt habe.
Ich muss folgende Optionen benutzen:
Baudrate: 38400
Datenbits: 8
Stopbits: 1
Parität: Keine
Flow Control: Keine
Jedoch bekomme ich entweder von Purebasic nur an Daten zurück was ich selber gesendet habe, oder irgendein kompletten Müll in irgendwelchen Zeichen die nicht "erkannt" werden.
Der Code ist immernoch ganz normal:
Ich hab erst gedach das ich vielleicht vorher ein bestimmte Protokoll einstellen und senden muss, da ich beim Zugriff über einen Terminal wie Putty aber auch nicht mehr eingeben brauch wie das, was ich senden will, gehe ich davon aus das irgendwie generell ein Fehler beim Senden besteht...
Muss ja ein Grund haben das es über Putty die Daten sendet die ich haben will aber über Purebasic nicht.
Mit freundlichen Grüßen
HHYayo
__________________________________________________
Link angepasst
04.03.2016
RSBasic
Zur Information, damit ein kleiner Einblick da ist wodrum es ungefähr geht ein Link zu meinem anderen Thread: http://purebasic.fr/german/viewtopic.php?f=16&t=29477
Dort geht es um die Kommunikation zu einem Simulator über einen Virtuellen Port
Ich habe bis jetzt damit weiter gearbeitet und dank der Hilfe aus dem Forum auch ohne Probleme.
Da ich nun endlich meine Kabel zugesendet bekommen habe (ELM327 v1.5 / OBD2 Diagnose), konnte ich nun mein Programm unter realen Bedingungen testen. Zu Testzwecken habe ich über ein bereits funktionierendes Diagnose Programm genommen um die Funktionalität des Kabels zu überprüfen, und es läuft tadellos. Danach habe ich über Putty/Termite bzw. Tera Term, also über einen Terminal versucht, die Daten die ich sonst über mein Programm an das Steugerät sende, zu verschicken. Ebenfalls mit vollen Erfolg, aber auch erst als ich die Baudrate auf 38400 gestellt habe.
Ich muss folgende Optionen benutzen:
Baudrate: 38400
Datenbits: 8
Stopbits: 1
Parität: Keine
Flow Control: Keine
Jedoch bekomme ich entweder von Purebasic nur an Daten zurück was ich selber gesendet habe, oder irgendein kompletten Müll in irgendwelchen Zeichen die nicht "erkannt" werden.
Der Code ist immernoch ganz normal:
Code: Alles auswählen
OpenSerialPort(0, "COM3", 38400, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 1024, 1024)
WriteSerialPortString(0,"0100"+#CRLF$)
Delay(100)
While AvailableSerialPortInput(0)>0
If ReadSerialPortData(0,@Byte,1)
text.s=text.s+Chr(Byte)
EndIf
Wend
Debug text
Muss ja ein Grund haben das es über Putty die Daten sendet die ich haben will aber über Purebasic nicht.
Mit freundlichen Grüßen
HHYayo
__________________________________________________
Link angepasst
04.03.2016
RSBasic