1-wire biblioteki w C lub asemblerze

Feb 11, 2005 3 Replies

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¼


Krzysztof snipped-for-privacy@poczta.onet.pl> napisał(a):

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.

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

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

pozdrawiam.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required