Stawiam pierwsze kroki z mikrokontrolerami i mam małe pytanko.
RC5 odbieram w przerwaniu i wszystko prawie działa tylko co któryś raz, a czasami kilka razy pod rząd ( w sumie to wychodzi ok 50% przypadków ), mam odczyt adresu 255 i kod 127.
Jak celuję pilotem gdzieś w ścianę, to taki odczyt jest o wiele częściej, więc chodzi prawdopodobnie o to, że sygnał dociera zakłócony. Przy celowaniu w odbiornik powinno już chyba być ok, a nie jest.
Jako odbiornik mam TSOP 1136 podłączony prawie jak w nocie katalogowej.
Tzn:
zasilanie z 5V przez 100 ohm
między VCC a GND 4,7 uF
OUT do VCC podciągnięty przez 5.6 kohm
Co może być przyczyną? Czy tak ma być?
RC5 odbieram w przerwaniu i wszystko prawie działa tylko co któryś raz, a czasami kilka razy pod rząd ( w sumie to wychodzi ok 50% przypadków ), mam odczyt adresu 255 i kod 127.
Jak celuję pilotem gdzieś w ścianę, to taki odczyt jest o wiele częściej, więc chodzi prawdopodobnie o to, że sygnał dociera zakłócony. Przy celowaniu w odbiornik powinno już chyba być ok, a nie jest.
Jako odbiornik mam TSOP 1136 podłączony prawie jak w nocie katalogowej.
Tzn:
zasilanie z 5V przez 100 ohm
między VCC a GND 4,7 uF
OUT do VCC podciągnięty przez 5.6 kohm
Dim Address As Byte
Dim Command As Byte
Dim Odb As Bit
Dim Zmienna As Byte
Dim A As Byte
Portd = 3
Config Int0 = Low Level
Config Rc5 = Pind.2
Enable Int0
Enable Interrupts
On Int0 Rc5
Set Odb
Do
If Odb = 1 Then
Cls
Lcd "Adres: " ; Address
Lowerline
Lcd "Kod: " ; Command
Locate 2 , 12
Lcd A
Reset Odb
Enable Int0
End If
If Pind.1 = 0 Then
Locate 1 , 12
Lcd Zmienna
Incr Zmienna
End If
Loop
End
Rc5:
Disable Int0
Enable Interrupts
Locate 2 , 12
Lcd A
Incr A
Getrc5(address , Command)
'If Address <> 255 Then
Command = Command And &B01111111
'End If
Set Odb
ReturnCo może być przyczyną? Czy tak ma być?