Witam, ponownie przypomniałem sobie po kilku latach że leży u mnie niedokończony DS18b20
zaglądałem ponownie do przykładowego demo ponieważ chcę sobie zrobić termostat na bazie interfejsu 1-Wire i delphi
wczytałem się w dokumentację ds'a jest procedura która resetuje ds'a by go zasilić w trybie pasożytniczym
i teraz mam problem bo reset następuje poprzez zmianę prędkości portu i wysłanie komunikatu "0xF0" i zmiana z powrotem na tą samą prędkość
wszystko było by dobrze gdyby nie to że podczas zmiany prędkości linia RTS zostaje załączona a ja chciałbym właśnie sterować tranzystorem poprzez linię RTS
czy jest możliwość wykonania procedury reset bez zmiany stanu na RTS bądź czy jest możliwość zmiany prędkości portu bez zmiany stanu linii RTS ?
załączam procedurę reset:
function TxSensorBus.Reset: Boolean;
var
dcb: TDCB;
ch: BYTE;
cb: DWORD;
begin
Result := GetCommState(fPortHandle, dcb);
if not Result then Exit;
dcb.BaudRate := CBR_14400;
Result := SetCommState(fPortHandle, dcb);
if not Result then Exit;
ch := $F0;
if WriteFile(fPortHandle, ch, 1, cb, nil) then
begin
ReadFile(fPortHandle, ch, 1, cb, nil);
Result := (ch <> $F0);
end;
dcb.BaudRate := CBR_115200;
SetCommState(fPortHandle, dcb);
end;
serdecznie prosił bym o pomoc :)