А какая версия баскома у Вас и какая операционка? Весь прикол, что у меня все всегда работало и вдруг начались такие чудеса.
ЗЫ. Стояла галка "swap words". Когда и кто поставил - без понятия. Убрал, все заработало.
Значит надо изменить эти функции или написать, найти те которые не виснут.aleksandr-zh писал(а):зависает на командах работы с шиной 1wire
проверено на 1wreset и 1wverify
а че ж не делаете?aleksandr-zh писал(а): это я и сам понимаю,
Код: Выделить всё
Ddra = &B11111111
Ddrc = &B00001111
D1 Alias Portc.2 : D2 Alias Portc.1 : D3 Alias Portc.0 : D4 Alias Portc.3
Dim N(4) As Byte , Index As Byte
Dim Disp As String * 4 , Blic As Bit , W(9) As String * 1
Const Tim = 2000
For Index = 1 To 4
W(index) = Mid(disp , Index , 1)
N(index) = Val(w(index))
If W(index) = " " Then : N(index) = 10 : End If
Next Index
Set D1 : Porta = Lookup(n(1) , P) : Waitus Tim : Reset D1
Set D2 : Porta = Lookup(n(2) , P) : Waitus Tim : Reset D2
Set D3 : Porta = Lookup(n(3) , P) : Waitus Tim : Reset D3
Set D4 : Porta = Lookup(n(4) , P) : Waitus Tim : Reset D4
Loop
P:
Data &B11101011 , &B00100001 , &B11010011 , &B01110011 , &B00111001 , &B01111010 , &B11111010 , &B00100011
Data &B11111011 , &B01111011 , &B00000000