Skocz do zawartości

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


darkraven05

Pomocna odpowiedź

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/

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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 😉

Link do komentarza
Share on other sites

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 😋

Link do komentarza
Share on other sites

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ę.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.