Witam. Zdaje sobie doskonale sprawę że temat był wałkowany milion razy. Przeczytałem chyba wszystkie posty dotyczące odbioru RC5 w avr - sprawdziłem z 10 różnych programów i efekt ten sam - nie mogę odebrać żadnej komendy z odbiornika rc5. Dlatego po dwóch dniach walki postanowiłem zapytać.
Sprzęt:
-Układ testuje na ATMEGA32 na płytce uruchomieniowej ZL3AVR
-Fusebity ustawione na zew, rezonator 16MHz
-pisze w bascomie
Program działający u kolegi na atmega8 w którym zmieniłem tylko regfile.
Pilot na 100% nadaje w RC5.
Wejście odbiornika Ir podłączone do PD2(int0).
Zmieniałem zegar na wew. 8Mhz - nic nie pomogło.
Sprawdzałem programy z elektrody podpisane jako działające - nie działa.
Napisałem swój na podstawie helpa - nie działa.
Nie zmieniłem tylko odbiornika IR - ale nie sądze żeby był uszkodzony.
Pozdrawiam.
Sprzęt:
-Układ testuje na ATMEGA32 na płytce uruchomieniowej ZL3AVR
-Fusebity ustawione na zew, rezonator 16MHz
-pisze w bascomie
Program działający u kolegi na atmega8 w którym zmieniłem tylko regfile.
$regfile = "m32def.dat" 'Dyrektyway dla kompilatora.
$lib "mcsbyte.lbx"
'$crystal = 8000000 'Oscylator wewnętrzny o częstotliwości 8MHz.
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.6 , E = Portb.1 , Rs = Portb.2
Config Pind.2 = Input
Set Portd.2
Config Rc5 = Pind.2
Enable Interrupts
Dim Address As Byte , Con1 As Byte , Con2 As Byte , Command As Byte , Adr_str As String * 2
Dim Com_str As String * 2
Cls
Con1 = 0
Con2 = 0
Lcd "* RC5 *"
Lowerline
Lcd "*READER*"
Wait 2
Cls
Do
Getrc5(address , Command)
If Address <> &HFF Then
If Address <> Con1 Or Command <> Con2 Then
Con1 = Address
Con2 = Command
Adr_str = Hex(address) 'zamieniamy na postać do wyświetlenia na LCD
Command = Command And &B01111111 'zerujemy znacznik w słowie RC5
Com_str = Hex(command) 'bit znacznika jest zmieniany podczas każdej transmisji
Cls
Lcd "Adr:" ; Adr_str
Lowerline
Lcd "Com: " ; Com_str
Print Com_str
End If
End If
Loop
EndPilot na 100% nadaje w RC5.
Wejście odbiornika Ir podłączone do PD2(int0).
Zmieniałem zegar na wew. 8Mhz - nic nie pomogło.
Sprawdzałem programy z elektrody podpisane jako działające - nie działa.
Napisałem swój na podstawie helpa - nie działa.
Nie zmieniłem tylko odbiornika IR - ale nie sądze żeby był uszkodzony.
Pozdrawiam.
