Proszę o pomoc w uruchomieniu DS2450

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

Reply to
PeCe
Loading thread data ...

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...

Reply to
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

Reply to
PC

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.