блин, не работают тсопы. Может дохлые.
код ниже (известный в общем то)
обы тсопа имеют питание около 4 вольт и примерно столько же на сигнальной ноге всегда.
один тсоп TSOP1736, другой TSOP1836SS3V
оксилогафа нет. Частоту менял. то, что мигают светодиоды - проверил (промежуток между вкл\выкл увеличивал)
делал D3 выходом и "моргал" им - значит работает. Что-то туплю, наверное.
- Код: Выделить всё • Развернуть
$regfile = "m32def.dat" ' файл спецификации Меги32
$crystal = 8000000 ' указываем на какой частоте будем работать
$baud = 19200
'----------------------------------------------------------------------------
Config Pinc.2 = Output : Drl Alias Portc.2 'ногу сконфигурировали как выход и обозвали Drl
Config Pinc.3 = Output : Drr Alias Portc.3 'ногу сконфигурировали как выход и обозвали Drr
Config Pind.2 = Input : Backtsop Alias Portd.2
Config Pind.3 = Input : Tsop Alias Portd.3
Config Pinb.0 = Output : Radarbacklight Alias Portb.0 'ногу сконфигурировали как выход и обозвали RadarLeftLight
Config Pinb.1 = Output : Radarrightlight Alias Portb.1 'ногу сконфигурировали как выход и обозвали RadarLeftLight
Config Pinb.3 = Output : Radarleftlight Alias Portb.3 'ногу сконфигурировали как выход и обозвали RadarLeftLight
Config Pinc.5 = Output : Lightrightgreen Alias Portc.5
Config Pinc.7 = Output : Lightleftgreen Alias Portc.7
'----------------------------------------------------------------------------
Radarbacklight = 1
Radarrightlight = 1
Radarleftlight = 1
Lightrightgreen = 0
Lightleftgreen = 0
Do
Gosub Checkirradar
If Tsop = 1 Or Backtsop = 1 Then
Lightleftgreen = 0
Else
Lightleftgreen = 1
End If
Waitms 500
Loop
Return
Checkirradar:
Dim Temp As Byte
For Temp = 1 To 14
Radarleftlight = 0
Radarrightlight = 0
Waitus 14
'Waitms 200
Radarleftlight = 1
Radarrightlight = 1
Waitus 14
'Waitms 200
Next
Waitus 100
Return