Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięRC5 i zmniejszenie nośnej
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
-
- -
- Posty:25
- Rejestracja:18 maja 2007, o 16:26
- Lokalizacja:Koszalin
Chciałbym przesłać kod rc5 drogą radiową i posiadam odpowiednie moduły nadajnika i odbiornika niestety maksymalna prędkość transmisji tych urządzeń to około 2 kb/s, zaś nośna RC5 to ponad 30 kHz. Ma ktoś pomysł jak zmniejszyć nośną RC5 ?
-
- -
- Posty:25
- Rejestracja:18 maja 2007, o 16:26
- Lokalizacja:Koszalin
-
- -
- Posty:25
- Rejestracja:18 maja 2007, o 16:26
- Lokalizacja:Koszalin
-
- -
- Posty:25
- Rejestracja:18 maja 2007, o 16:26
- Lokalizacja:Koszalin
Przerobiłem troszkę kod generujący rc5, który znalazłem na internecie (w zasadzie pozbyłem się tylko nośnej 36 kHz) i otrzymałem coś takiego:
Sygnał na oscyloskopie niby wygląda tak jak ma wyglądać, jednak teraz mam problem z jego odkodowaniem po stronie odbiorczej. Komenda getrc5 pokazuje, że nadano adres 255 i komendę 127 niezależnie od tego co faktycznie nadano. Nie jest to wina transmisji radiowej, gdyż próbowałem również bezpośrednio połączyć oba mikrokontrolery i wystąpiła ta sama reakcja. Wie ktoś może, gdzie leży błąd ?
Kod: Zaznacz cały
$regfile = "attiny2313.dat"
$crystal = 8000000
Dim Rc5_address As Byte
Dim Rc5_command As Byte
Dim Rc5_bit_nr As Byte
Dim Toggle_bit As Boolean
Config Pind.1 = Output
Declare Sub Logic_0
Declare Sub Logic_1
Toggle_bit = 0
Rc5_address = 0
Rc5_command = 11
'-------------------------------------------------------------------------------
Do
Logic_1 'first start bit
Logic_1 'second start bit
If Toggle_bit = 0 Then Logic_0 Else Logic_1 'toggle bit
For Rc5_bit_nr = 4 To 0 Step -1 '5 bit address, msb first
If Rc5_address.rc5_bit_nr = 0 Then Logic_0 Else Logic_1
Next
For Rc5_bit_nr = 5 To 0 Step -1 '6 bit command, msb first
If Rc5_command.rc5_bit_nr = 0 Then Logic_0 Else Logic_1
Next
'frame gap delay
Portd.1 = 0
Waitms 100
Loop
End
'-------------------------------------------------------------------------------
Sub Logic_0
Portd.1 = 1
Waitus 883
Portd.1 = 0
Waitus 884
End Sub
Sub Logic_1
Portd.1 = 0
Waitus 883
Portd.1 = 1
Waitus 884
End Sub
-
- -
- Posty:25
- Rejestracja:18 maja 2007, o 16:26
- Lokalizacja:Koszalin
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 22 gości