iButton - rozdíl mezi 3mm a 5mm verzí
Napsal: 25 říj 2013, 23:05
Pánové a dámo,
potřebuji udělat kontrolu přístupu do našeho firemního skladu, vybral jsem si k tomu iButtony DS1990A od Maximů.
Napsal jsem v MikroPascalu malou aplikaci pro zjištění kódů iButtonů, abych je mohl napsat do finální aplikace, ale mám malý problém.
Jako vzorky jsem dostal od Maximů dva kousky 5mm verze a jeden kus 3mm verze.
5mm verze fungují bez problémů, ale 3mm verze mi způsobí zaseknutí programu.
Netušíte někdo, jestli (zdali) je nějaký rozdíl mezi výše uvedenými čipy?
V aplikaci vyčítám čipy tak, že nejdříve ho resetuji a pak ho vyčtu:
ow_reset(portb,1); // onewire reset signal
ow_write(portb,1,$33); // read iButton
delay_us(120); // pause
for i:=1 to 8 do begin
vc[i]:= ow_read(portb,1);
end;
Pull-up na portu B mám zapnutý. Prostě načtu v pohodě 5mm verze čipů, několikrát za sebou, ale když vložím do držáku 3mm čip, tak se procesor zastaví.
Děkuji za rady.
Petr Filipi
potřebuji udělat kontrolu přístupu do našeho firemního skladu, vybral jsem si k tomu iButtony DS1990A od Maximů.
Napsal jsem v MikroPascalu malou aplikaci pro zjištění kódů iButtonů, abych je mohl napsat do finální aplikace, ale mám malý problém.
Jako vzorky jsem dostal od Maximů dva kousky 5mm verze a jeden kus 3mm verze.
5mm verze fungují bez problémů, ale 3mm verze mi způsobí zaseknutí programu.
Netušíte někdo, jestli (zdali) je nějaký rozdíl mezi výše uvedenými čipy?
V aplikaci vyčítám čipy tak, že nejdříve ho resetuji a pak ho vyčtu:
ow_reset(portb,1); // onewire reset signal
ow_write(portb,1,$33); // read iButton
delay_us(120); // pause
for i:=1 to 8 do begin
vc[i]:= ow_read(portb,1);
end;
Pull-up na portu B mám zapnutý. Prostě načtu v pohodě 5mm verze čipů, několikrát za sebou, ale když vložím do držáku 3mm čip, tak se procesor zastaví.
Děkuji za rady.
Petr Filipi