Skocz do zawartości

Zmiana stanu portu w zalezności od przesłanych danych


vp32

Pomocna odpowiedź

Hej

Potrzebuję podpowiedzi, bo przyznam że nie wiem jaka jest dobra praktyka w takiej sytuacji.

Jest układ, który ciągle nadaje po RS232 dane w zależności od naciśniętego przycisku (wewnątrz tego układu). do tego nie ma dostępu mam tylko dane po RS

W paczce danych która nadlatuje (to już w moim układzie) wyłapuje bajt który odpowiada za stan tych przycisków. Teraz w zależności  od stanu dwóch bitów muszę zmanić stan dwóch przekaźników.

Dane te lecą non stop tylko zmienia  się stan bitu w zależności od tego czy dany przycisk jest wciśnięty.

Mając wyłapany bit jak prawidłowo powinna wyglądać zmiana stanu portu. Wydaje się ze najprostszą metodą było by proste przepisane stanu tego bitu na port, ale upraszczając to, czy coś takiego z programistycznego puntu widzenia jest prawidłowe:
 

while(1){

            PORTB  |= (1<<PB5);

}

bo to co opisałem wyżej sprowadzało by się do ciągłego wpisywania albo 1 albo 0 do portu.

Ma to sens? Zastanawiam się czy porty wyjściowe moga być tak traktowane, czy lepszą praktyka byłoby wyłapanie zmiany i dopiero wpisanie. Tylko jak programowo wykryć zmianę stanu?

 

 

 

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

Jakim sposobie działania??? Owszem, ustawienie bitu na porcie na wartość taką samą jak przychodzący jest najprostszym sposobem i nic się z portem nie stanie jeśli ustawisz bit który jest już ustawiony (albo wyzerujesz zero), o to Ci chodzi bo nie bardzo rozumiem?

 

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.