Wysyłanie danych po RS232 w określony sposób
: 15 lis 2010 14:18
Witam
Mam za zadanie napisać program, który będzie sekwencyjnie wysyłał dane po RS232. Dane muszą być wysyłane w odpowiedni sposób. Program otwiera plik .txt, gdzie są zapisane wartości do przesłania:
Po uruchomieniu program wysyła 4 paczki danych
Pierwsza komenda (paczka danych):
<0x83><0x30 ><0x4D>
Druga komenda (paczka danych):
<0x84><0xE5><0x00><0x97>
Trzecia komenda (paczka danych):
<0x88><0x87><0x00><0x67><0x01><0x80><0x00><0x09>
Następnie po wpisaniu MSB, LSB i CS i wciśnięciu przycisku następuje zapisanie ostatniej paczki danych.
Czwarta komenda (paczka danych):
<0x88><0x87><0x00><0x67><0x01><MSB><LSB><CS>
Program kończy pracę. Chciałbym aby paczki danych były wysyłane w następujący sposób:
WriteBuf[0] =0x88;
WriteBuf[1]=0x87;
WriteBuf[2]=0x00;
WriteBuf[3]=0x67;
WriteBuf[4]=0x01;
WriteBuf[5]=0x80;
WriteBuf[6]=0x00;
WriteBuf[7]=0x09;
Nie wiem czy wysyłanie tego jako string będzie tak samo odbieranie jak powyższy kod. Też nie wiem jak obliczyć sume kontrolną. Aktualnie wysyłane dane przez mój program wyglądaja tak „8887006701800009” ale nie wiem czy jest to równoważne z tym co jest napisane w labwindows powyżej. Proszę o pomoc i sugestie, z góry dziękuję.
PS. Korzystam z LV 8.6
Mam za zadanie napisać program, który będzie sekwencyjnie wysyłał dane po RS232. Dane muszą być wysyłane w odpowiedni sposób. Program otwiera plik .txt, gdzie są zapisane wartości do przesłania:
Po uruchomieniu program wysyła 4 paczki danych
Pierwsza komenda (paczka danych):
<0x83><0x30 ><0x4D>
Druga komenda (paczka danych):
<0x84><0xE5><0x00><0x97>
Trzecia komenda (paczka danych):
<0x88><0x87><0x00><0x67><0x01><0x80><0x00><0x09>
Następnie po wpisaniu MSB, LSB i CS i wciśnięciu przycisku następuje zapisanie ostatniej paczki danych.
Czwarta komenda (paczka danych):
<0x88><0x87><0x00><0x67><0x01><MSB><LSB><CS>
Program kończy pracę. Chciałbym aby paczki danych były wysyłane w następujący sposób:
WriteBuf[0] =0x88;
WriteBuf[1]=0x87;
WriteBuf[2]=0x00;
WriteBuf[3]=0x67;
WriteBuf[4]=0x01;
WriteBuf[5]=0x80;
WriteBuf[6]=0x00;
WriteBuf[7]=0x09;
Nie wiem czy wysyłanie tego jako string będzie tak samo odbieranie jak powyższy kod. Też nie wiem jak obliczyć sume kontrolną. Aktualnie wysyłane dane przez mój program wyglądaja tak „8887006701800009” ale nie wiem czy jest to równoważne z tym co jest napisane w labwindows powyżej. Proszę o pomoc i sugestie, z góry dziękuję.
PS. Korzystam z LV 8.6