Skocz do zawartości

[C] [atmega8] Porównanie zmiany stanów dwóch pinów w czasie


Pomocna odpowiedź

Napisano

Witam wszystkich

Musze zrobić porównanie zmian stanu logicznego dwóch pinów. Ma to wyglądać tak, że najpierw zmienia mi się stan pierwszego (PC4) a później drugiego (PC5), lub odwrotnie. Od kolejności zależeć będzie kolejna operacja-zwiększenie lub zmniejszenie wartości zmiennej o jeden. Jednak aby ta operacja została wykonana, muszą zmienić się stany obydwóch pinów- jeśli zostanie zmieniony stan tylko jednego, nic nie powinno się stać(a jeśli w odpowiednim czasie nie zmieni się drugi pin- zapamiętany stan pierwszego zostanie zresetowany) Wstępna konfiguracja portów:

DDRD = 0xff; (wskaźnik-dioda, włącza się przy spełnieniu warunku if zmiennej)

DDRC = 0x00;

PORTC = 0xff;

Nie mam pomysłu jak to wykonać - liczę na pomoc z Waszej strony 🙂

Mirek-to chyba jednak nie było to../albo nie zrozumiałem/

Tak są 2, do rozróżniania kierunku obrotu. Tylko, że teraz jak już napisałeś do czego chcesz tego użyć no to cię zmartwię, bo nie ma to nic wspólnego z tematyką forum.

Ale widzę tutaj sporo ludzi, którzy na pewno wiedzą zdecydowanie więcej w tej materii niż ja. Jeśli to przeszkadza, zastosuje to też do robota jako dość rozbudowany włącznik z funkcją szyfrowania-zależnej od ilości przeciągnięcia ręki między bramkami 😉

Sabre, jak nie ma nic wspólnego z tematyką forum? Bramka optyczna jest dopuszczona jako projekt na konkursie, więc nie widzę problemu imo 🙂 Oczywiście, jeśli będzie wykorzystywana do pomiaru prędkości LFRów czy tam innych botów 😋

A wykrywanie kierunku będzie jak znalazł na zawody w Warszawie 😋

W każdym razie ja to widzę tak:

Zmiana stanu któregokolwiek z pinów ustawia flagę i uruchamia timer. Jeśli flaga jest ustawiona i zmieni się stan drugiego pinu, to masz poprawne przejście i w zależności od tego, który czujnik zmienił się jako pierwszy, to odejmujesz sobie albo dodajesz do zmiennej. Zerujesz też wtedy flagę. Timer służy do tego, że jak doliczy do końca, to też zerujesz flagę.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...