Witam,
Chcę wysłać z PC do PC plik mający 50MB po RS232.
Temat polega na tym iż muszę użyć bufora 32, 64, max 128bajtów ze względu na otrzymywane dane bufor 128 musi być maksymalny.
Idea (ostatni bajt to CRC8):
- Master - nadaje np 128bajty
- Slave - odbiera 128bajty
- Slave - czyta CRC ramki
- Slave - potwierdza OK lub potwierdza ERROR
- Master - odbiera kod z Slave i wykonuje czynność wysłania kolejnej ramki lub powtarza jeszcze raz tą błędnie wysłaną z poprzedniej transmisji w zależności od odebranego kody od Slev'a
do komunikacji po RS'ie używam następujących funkcji
function Write_Comm(hCommDev: THANDLE; lpBuffer: PChar;nNumberOfBytesToWrite: DWORD):BOOL;
function Read_Comm(hCommDev: THANDLE; Buf_Size: DWORD): BOOL;
begin
//WYSYŁAM
Form1.Write_Comm(hCommDev, Buffer_O, SizeOf(Buffer_O));
//ODBIERAM
Form1.Read_Comm(hCommDev, SizeOf(Buffer_I)) = TRUE;
end;
Jaka strukture programu powinienem mieć w MASTER i SLAVE