Program w Bascom do obslugi DS1990

Witam, mam uC 90S2313 i napisalem sobie prosty program w Bascom ktory porownuje odczytany nr id z tym w pamieci mam 8 pastyle i na paru z nich podczas odczytywania zawiesza mi sie uC. Nie wiem co jest. Mial ktos kiedys taka sytuacje? czy to znaczy ze pastylki sa uszkodzone (sa to dokladnie DS1991L)? Ma ktos moze przykladowy program w Bascomie? Pozdrawiam

Zrodlo mojego programu:

Dim Nrid(8) As Byte Dim Nrid_1(8) As Byte Dim Nrid_2(8) As Byte Dim Nrid_3(8) As Byte Dim K As Bit ' jest porownienie ok czy nie Dim I As Byte ' petla od 1 do

8 przy tablicy '' Wprowadzam do tablicy nr id pastylki Nrid_1(8) = &H00 Nrid_1(7) = &H00 Nrid_1(6) = &H00 Nrid_1(5) = &H00 Nrid_1(4) = &H00 Nrid_1(3) = &H00 Nrid_1(2) = &H00 Nrid_1(1) = &H00 '' takich tablic jest pare (w przykladzie 3) (liczby sa przykladowe) Cls Lcd Spc(3) ; "ID Pastylki:" Do Do 1wreset 'reset magistrali 1wwrite &H33 'polecenie czytania ROM Nrid(1) = 1wread(8) 'wpisanie w tablice numeru id pastylki Waitms 100 Loop Until Err = 0 Locate 2 , 3 For I = 8 To 1 Step -1 Lcd Hex(nrid(i)) 'wypisuje odczytany nr ID Next For I = 1 To 8 Step 1 If Nrid(i) = Nrid_1(i) Then K = 0 Else K = 1 End If If K = 1 Then Exit For End If Next If K = 0 Then Goto Dobra End If For I = 1 To 8 Step 1 If Nrid(i) = Nrid_2(i) Then K = 0 Else K = 1 End If If K = 1 Then Exit For End If Next If K = 0 Then Goto Dobra End If For I = 1 To 8 Step 1 If Nrid(i) = Nrid_3(i) Then K = 0 Else K = 1 End If If K = 1 Then Exit For End If Next If K = 0 Then Goto Dobra End If If K = 1 Then Goto Zla End If Waitms 500 Loop Zla: Locate 1 , 32 Lcd "_Zla_" Return Dobra: Locate 1 , 32 Lcd "Dobra" Return
Reply to
Hooh
Loading thread data ...

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.