Proszę o pomoc w uruchomieniu DS2450

Jul 01, 2005 2 Replies

Aż wstyd przyznać ale nie bardzo rozumiem pdf-a.



  1. Wysyłam polecenie konwersji i co dalej, czy teraz muszę wysłać dwa bajty opcji?
  2. Jak wygląda zapis i odczyt z tego przetwornika? Załózmy, że zakończyła się konwersja i chcę odczytać dane. Czy muszę odczytywać wszystkie dane, crc i odpowiadać żeby układ kontynuował wysyłanie danych czy też mogę odczytać dowolną wartość spod konkretnego adresu bez weryfikacji?

Pozdrawiam PC



Prosze, tutaj jest kawałek kodu, niestety w bascomie, może napisany troche łopatologicznie, ale u mnie działa w 100 %

1wreset ' Reset 1wwrite &H55 'Komenda zaadresowania 1wwrite Numer3(1) , 8 'Adres DS2450 1wwrite &H55 'a/c write memory command 1wwrite &H08 'adres L 1wwrite &H00 'adres H 1wwrite &H00 'dana - pod ad. 08 Temp = 1wread() 'crc16 1 Temp = 1wread() 'crc16 2 Temp = 1wread() 'wryfikacja danej 1wwrite &H01 'dana - pod ad. 09 Temp = 1wread() 'crc16 1 Temp = 1wread() 'crc16 2 Temp = 1wread() 'wryfikacja danej 1wwrite &H00 'dana - pod ad. 0A Temp = 1wread() 'crc16 1 Temp = 1wread() 'crc16 2 Temp = 1wread() 'wryfikacja danej 1wwrite &H01 'dana - pod ad. 0B Temp = 1wread() 'crc16 1 Temp = 1wread() 'crc16 2 Temp = 1wread() 'wryfikacja danej 1wwrite &H00 'dana - pod ad. 0C Temp = 1wread() 'crc16 1 Temp = 1wread() 'crc16 2 Temp = 1wread() 'wryfikacja danej 1wwrite &H01 'dana - pod ad. 0D Temp = 1wread() 'crc16 1 Temp = 1wread() 'crc16 2 Temp = 1wread() 'wryfikacja danej 1wwrite &H00 'dana - pod ad. 0E Temp = 1wread() 'crc16 1 Temp = 1wread() 'crc16 2 Temp = 1wread() 'wryfikacja danej 1wwrite &H01 'dana - pod ad. 0F Temp = 1wread() 'crc16 1 Temp = 1wread() 'crc16 2 Temp = 1wread() 'wryfikacja danej

1wreset ' Reset 1wwrite &H55 'Komenda zaadresowania 1wwrite Numer3(1) , 8 'Adres1

1wwrite &H55 'a/c write memory command 1wwrite &H1C 'adres L 1wwrite &H00 'adres H 1wwrite &H40 'dana - pod ad. 1C - VCC POWERED Temp = 1wread() 'crc16 1 Temp = 1wread() 'crc16 2 Temp = 1wread() 'wryfikacja danej

'teraz można odczytywać dowolna ilość razy, konfiguracja powyżej konieczna tylko 1 raz, nie uwzględnione zostało CRC, ale odczytane musi być :)

1wreset 'Reset 1wwrite &H55 'Komenda zaadresowania 1wwrite Numer3(1) , 8 'Adres1 1wwrite &H3C 'convertd 1wwrite &H0F 'mask 1wwrite &H00 'read-out Temp = 1wread() 'crc16 1 Temp = 1wread() 'crc16 2

Waitms 4 ' opóźnienie na konwersję

1wreset ' Reset 1wwrite &H55 'Komenda zaadresowania 1wwrite Numer3(1) , 8 'Adres1 1wwrite &HAA 'convertd 1wwrite &H00 'mask 1wwrite &H00 'read-out

Dane3(1) = 1wread(8) ' tablica z odczytanymi napieciami

Temp = 1wread() 'crc16 1 Temp = 1wread() 'crc16 2

Ac1 = Makeint(dane3(1) , Dane3(2)) 'wartość odczytana - 0 - 65535 - kanal A (albo D - nie pamiętam) Ac2 = Makeint(dane3(3) , Dane3(4)) Ac3 = Makeint(dane3(5) , Dane3(6)) Ac4 = Makeint(dane3(7) , Dane3(8))

Pozdrawiam

Użytkownik "PeCe" <p_c snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:da3teh$3r0$ snipped-for-privacy@nemesis.news.tpi.pl...

Witaj, Dzieki za odzew. Zostałem zmuszony do zastosowania w/w przetwornika choc nie lubię 1wire. Mam już takową magistralę w swoim urządzeniu a zaistniała konieczność pomiaru napięcia stąd wybór padł na DS2450. Nie zależy mi na pomiarze ultradokładnym. Wystarczy jakikolwiek. Mam nadzieję, że załapię ideę.

Pozdrawiam PC

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required