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ę

Sterowanie atmega poprzez rc5

Moderatorzy: Jacek Bogusz, Moderatorzy

mrnacia
-
-
Posty: 48
Rejestracja: 11 sie 2011, o 17:09

Sterowanie atmega poprzez rc5

Postautor: mrnacia » 12 lis 2011, o 23:06

Witam chciałbym sterować wyjściami atmegi8 poprzez rc5 ale napotykam pewne problemy.
1. wyświetlacz lcd nie działa wiec nie mogę odczytać kodu z pilota jak napisać programowanie automatyczne aby zapisało wartości w eeprom?
2.Co należy dopisać aby po wciśnięciu przycisku nastąpiła zmiana i gdy puszczę przycisk nadal ona była aż do ponownego jego wciśnięcia?

aktualnie mam taki cod:

Kod: Zaznacz cały

$regfile "m8def.dat" $crystal = 1000000 Config Portb.0 = Output Config Portb.1 = Output Config Portb.2 = Output Config Portb.3 = Output Config Rc5 = Pind.2 Dim Address As Byte , Command As Byte Enable Interrupts Do Getrc5(address , Command) Command = Command And &B01111111 If Address = 10 And Command = 84 Then Portb.0 = 1 Portb.1 = 0 Portb.2 = 0 Portb.3 = 1 End If Loop End
warosci address i command podałem takie przypadkowe. Próbowałem w internecie coś znaleść ale wszystko co znalazłem nie działa.

Awatar użytkownika
Tomasz Gumny
-
-
Posty: 685
Rejestracja: 4 lut 2004, o 23:31
Lokalizacja: Trzcianka/Poznań

Re: Sterowanie atmega poprzez rc5

Postautor: Tomasz Gumny » 13 lis 2011, o 11:58

Uruchom LCD. Stosowanie jakichś pokrętnych protez zamiast prostych i oczywistych rozwiązań nie jest dobrą praktyką.

mrnacia
-
-
Posty: 48
Rejestracja: 11 sie 2011, o 17:09

Re: Sterowanie atmega poprzez rc5

Postautor: mrnacia » 13 lis 2011, o 13:13

Ok w takim razie muszę czekać na przyjście nowego lcd ;/

a odp na 2 pytanie zna moze ktos ??

Awatar użytkownika
Tomasz Gumny
-
-
Posty: 685
Rejestracja: 4 lut 2004, o 23:31
Lokalizacja: Trzcianka/Poznań

Re: Sterowanie atmega poprzez rc5

Postautor: Tomasz Gumny » 13 lis 2011, o 15:51

Ok w takim razie muszę czekać na przyjście nowego lcd ;/
Jeśli nie podłączyłeś odwrotnie zasilania, to uszkodzenia wyświetlaczy zdarzają się rzadko.
a odp na 2 pytanie zna moze ktos ??
Zadeklaruj zmienną np. state, która będzie wskazywać stan komunikacji:

Kod: Zaznacz cały

if( odebrany adres i polecenie zgodne i state == 0 ) { załącz; state = 1; } if( (brak RC5 przez 1s lub odebrany adres i polecenie niezgodne lub zmienił się TOGGLE BIT) i state == 1 ) { state = 2; } if( odebrany adres i polecenie zgodne i state == 2 ) { wyłącz; state = 0; }

mrnacia
-
-
Posty: 48
Rejestracja: 11 sie 2011, o 17:09

Re: Sterowanie atmega poprzez rc5

Postautor: mrnacia » 25 lis 2011, o 18:48

Witam
mógłby ktoś mi pomóc uzupełnić kod według wskazań po ' . Nie przeszkadza mi to, że mogę trafić akurat wysyłając sygnał na wait i sygnał nie zostanie odebrany.

Kod: Zaznacz cały

$regfile "m8def.dat" $crystal = 1000000 Config Portb.0 = Output Config Portb.1 = Output Config Portb.2 = Output Config Portc.5 = Output Config Rc5 = Pind.2 Portc.5 = 0 Dim Address As Byte , Command As Byte Enable Interrupts 'szukaj nadanej komendy Do Getrc5(address , Command) Command = Command And &B01111111 If Address = 20 And Command = 52 Then 'skocz do dioda1 End If If Address = 20 And Command = 12 Then 'skocz do dioda2 End If (dioda1) Do Toggle Portc.5 Waitms 23 'sprawdź czy If Address = 20 And Command = 12 został nadany jeśli tak skocz do dioda2 jeśli nie kontynuuj Loop (dioda 2) Do Toggle Portc.5 Wait 1 'sprawdź czy If Address = 20 And Command = 12 Then został nadany jeśli tak skocz do dioda1 jeśli nie kontynuuj Loop Loop End

Wróć do „Sterowanie, kontrola, czujniki i syst. wizyjne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 24 gości