Zu meinem Anwendungsfall:
Ich besitze ein technisches Gerät, welches seinen Code ausschließlich über eine Stück Windows Software übermittelt bekommt. Dies erfolgt über eine serielle Verbindung via USB.
Einen Auszug einer Sitzung habe ich via advanced serial port monitor mitschneiden lassen. Das sieht dann so aus:
Code: Alles auswählen
<20131116114117.322 SYS>
COM ist offen
<20131116114117.322 SYS>
Leeren der seriellen Schnittstelle: RXABORT, RXCLEAR, TXABORT, TXCLEAR
<20131116114117.322 SYS>
Zeitüberschreitungen: ReadInterval=300, ReadTotalTimeoutMultiplier=1, ReadTotalTimeoutConstant=1, WriteTotalTimeoutMultiplier=10, WriteTotalTimeoutConstant=100
<20131116114117.322 SYS>
Baud-Rate 115200
<20131116114117.322 SYS>
RTS an
<20131116114117.322 SYS>
DTR an
<20131116114117.322 SYS>
Data Bits=8, Stop Bits=1, Parity=None
<20131116114117.322 SYS>
Zeichen setzen: Eof=0x00, Error=0x00, Break=0x00, Event=0x00, Xon=0x00, Xoff=0x00
<20131116114117.322 SYS>
Handflow: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL), XonLimit=32768, XoffLimit=8192
<20131116114117.322 SYS>
DTR an
<20131116114117.385 SYS>
DTR aus
<20131116114118.399 SYS>
Leeren der seriellen Schnittstelle: RXABORT, RXCLEAR, TXABORT, TXCLEAR
<20131116114118.399 TX>
4dgl
<20131116114118.586 RX>
G
<20131116114118.586 TX>
L<BS>
<20131116114118.976 RX>
<ACK>
<20131116114118.976 TX>
hz<NUL>$<NUL>D<NUL>++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++.<NUL>
<20131116114118.976 RX>
<NUL>
<20131116114118.976 TX>
.+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.+++.´<SOH>T<NUL><SOH><SYN>w
<20131116114118.992 RX>
<NUL>
<20131116114118.992 TX>
hŒ<NUL>T<NUL>$<SOH><SYN>؈<NUL><LF>t<NUL>T<SOH><SOH><SYN>¤<NUL>h—ÿX<BEL>€$<SOH><BS>èÊ<SOH>X<BEL>€¤<NUL><FF><ETX>T+<ACK>èÄ<NUL>´<STX>Ä<SOH><FF>´<STX>Ä<SOH><FF><ETB>T<SOH><FF>X<NUL><SOH><DLE><SOH><US>
<20131116114119.007 RX>
<NUL>
<20131116114119.007 TX>
<SYN>ØÃ<SOH>X<BEL>€¤<NUL><FF><ETX>T-<ACK>èè<NUL>´<STX>Ä<SOH><FF>´<STX>Ä<SOH><FF><ETB>T<SOH> [len=231]
<20131116114119.007 TX>
X<NUL><SOH><DLE><SOH><SYN>ØÃ<SOH>X<BEL>€¤<NUL><FF><ETX>T.<ACK>è<EOT><SOH>hþÿ´<STX>Ä<SOH><FF><ETB>$<SOH>“
<20131116114119.007 RX>
<NUL>
<20131116114119.007 TX>
<SYN>ØÃ<SOH>X<BEL>€¤<NUL><FF><ETX>T,<ACK>è <SOH>´<STX>Ä<SOH><FF>håÿ$<NUL><SOH><SYN>ØÃ<SOH>X<BEL>€¤<NUL><FF><ETX>T<<ACK>è<<SOH>´<SOH>Ä<SOH>T<SOH> [len=85]
<20131116114119.007 TX>
Tþ<DLE><SOH><SYN>ØÃ<SOH>X<BEL>€¤Â
<20131116114119.023 RX>
<NUL>
<20131116114119.023 TX>
<NUL><FF><ETX>T><ACK>èX<SOH>´<SOH>Ä<SOH>T<SOH><FF>Tþ<DLE><SOH><SYN>ØÃ<SOH>X<BEL>€¤<NUL><FF><ETX>T[<ACK>èµ<SOH>´<STX>Ä<SOH><FF><ETB>T<NUL><BEL>è<SOH>dŒ¤<NUL>T<SOH><FF>$<SOH><SYN>Ø <NUL>ز®
<20131116114119.023 RX>
<NUL>
<20131116114119.023 TX>
<SOH>„<NUL>T<NUL><BEL>è²<SOH>X<BEL>€”<NUL><GS><FF><ETX>T[<ACK>èž<SOH>t<NUL><GS><SYN>د<SOH>X<BEL>€¤<NUL><FF><ETX>T]<ACK>è¯<SOH>t<NUL><RS><SYN>Ø<SOH>ØÃ<SOH>X<BEL>€¤<NUL><FF><ETX>T]<ACK>èË
<20131116114119.038 RX>
<NUL>
<20131116114119.038 TX>
Ã<SOH><LF>”<NUL><GS><SYN>Ø’<NUL><LF>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,
<20131116114119.038 RX>
<NUL><ACK>
<20131116114119.054 SYS>
COM ist geschlossen
Ist der Initialisierungskram, sprich das was SYS da macht unbedingt haargenau so zu imitieren oder rät das Gerät die passenden Parameter?