Biblioteki 1-Wire w C/Asemblerze do komunikacji z DS1820 ? szukam wskazówek

1-wire biblioteki w C lub asemblerze





Poprzedni Następny
Wiadomość
Spis treści
From: "Krzysztof" <krysss1981_at_nospam_poczta.onet.pl>
Subject: 1-wire biblioteki w C lub asemblerze
Date: Fri, 11 Feb 2005 18:36:31 +0100


Witam!

Potrzebuje wymienionych w temacie bibliotek. Probowałem napisać coś samemu
jednak nie potrafię znależć błędu.
Potrzebuję ich do komunikacji z DS1820. Jak do tej pory doszedłem do tego,
iż urządzenie zgłasza swoją obecność
po sygnale resetu jednak po wysłaniu rozkazów zaadresowania i wykonania
pomiaru - układ zwraca dwa bajty
złożone z samych jedynek. Nie wiem czy błąd tkwi w czasach generowanych
poprzez pętle for ?


Z góry dzieki za odpowiedź





Poprzedni Następny
Wiadomość
Spis treści
From: "Piotrek Sz." <zumek_at_nospam_WYTNIJ.gazeta.pl>
Subject: Re: 1-wire biblioteki w C lub asemblerze
Date: Fri, 11 Feb 2005 22:41:50 +0000 (UTC)


Krzysztof <krysss1981_at_nospam_poczta.onet.pl> napisał(a):

Witam!

Potrzebuje wymienionych w temacie bibliotek. Probowałem napisać coś samemu
jednak nie potrafię znależć błędu.
Potrzebuję ich do komunikacji z DS1820. Jak do tej pory doszedłem do tego,
iż urządzenie zgłasza swoją obecność
po sygnale resetu jednak po wysłaniu rozkazów zaadresowania i wykonania
pomiaru - układ zwraca dwa bajty
złożone z samych jedynek. Nie wiem czy błąd tkwi w czasach generowanych
poprzez pętle for ?


Z góry dzieki za odpowiedź


Zbyt lakonicznie opisałeś , co dokładnie robi Twój program.Powinno być
mniejwięcej tak:
a)Reset
b)Command MatchRom
c)Send Address (Rom Code)
d)Command Convert
Wait -zależne od rodzaju zasilania DS-a
e)Reset
f)Command MatchRom
g)Send Address (Rom Code)
h)Command ReadScratchpad
i)Receive
Jeśli tak robisz i nie działa , tzn. że źle "generujesz" timeslot.To MUSI działać.
Jam ma coś takiego ale UWAGA dla kwarcu 4Mhz , ale łatwo przerobić na inny :)
_1wread_byte: ;odczyt bajtu
mov a,#255
_1wwrite_byte: ;zapis bajtu
push b
mov b,#08
_next_bit:
rrc a
acall _1wwrite_bit
djnz b,_next_bit
rrc a
pop b
ret
_1wwrite_bit:
clr _1wbus
mov _1wbus,c
nop
nop
mov c,_1wbus
push b
mov b,#6
_lop6:
djnz b,_lop6
pop b
setb _1wbus
ret
Pozdrawiam
Piotrek


PS
Dla MCS-51 , bo nie wiem o jakim uC mówimy.


--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Poprzedni Następny
Wiadomość
Spis treści
From: "Krzysztof" <krysss1981_at_nospam_poczta.onet.pl>
Subject: Re: 1-wire biblioteki w C lub asemblerze
Date: Sat, 12 Feb 2005 02:13:43 +0100



Zbyt lakonicznie opisałeś , co dokładnie robi Twój program.Powinno być
mniejwięcej tak:
a)Reset
b)Command MatchRom
c)Send Address (Rom Code)
d)Command Convert
Wait -zależne od rodzaju zasilania DS-a
....


Dzieki za odpowiedz, problem faktycznie tkwił w złych przedziałach
czasowych.



Poprzedni Następny
Wiadomość
Spis treści
From: "Jarosław S." <alres_at_nospam_polbox.com>
Subject: Re: 1-wire biblioteki w C lub asemblerze
Date: Sun, 13 Feb 2005 13:37:27 +0100


ścišgnij sobię notę aplikacyjnš ( Aplicatin Note 162 ) ze strony
Maxim / Dallas. Sš tam gotowe procedury napisane w C dla
procesora serii 80c51

pozdrawiam.