Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 27 lis 2024, o 21:10


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
 Tytuł: sterowanie DIP
PostNapisane: 25 cze 2017, o 08:49 
Offline
Użytkownik

Dołączył(a): 09 lis 2014
Posty: 78
Pomógł: 0

Cześć !!!
Mam przełącznik 4 dip Piny podciągnięte do zasilania

if ( !(PIND & (1<<PD1)) && (PIND & (1<<PD2)) && (PIND & (1<<PD3)) && (PIND & (1<<PD4)) )//PD1 = 0 i PD2=1 i PD3 =1 i PD4=1
{
korekta=1;

PORTD |=(1<<PD0);//wyłącz PD0

Czy można prościej zapisać warunek ?
Chcę rozpisać 8 kombinacji



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 cze 2017, o 15:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 wrz 2013
Posty: 74
Lokalizacja: Sierakowice/Gdańsk
Pomógł: 9

Może powołaj zmienną "uint8_t stan_przełącznika", a następnie przepisz stany kolejnych pinów do 4 najmłodszych bitów powołanej zmiennej. Pozostałe 4 starsze bity pozostaw w stanie "0". Dzięki takiej operacji, wartość tej zmiennej będzie reprezentowała stan przełącznika od 0 do 15 (czyli wszystkie 16 kombinacji).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 cze 2017, o 16:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Witam,
robo1973 napisał(a):
Czy można prościej zapisać warunek ?
Chcę rozpisać 8 kombinacji
może spróbuj sobie tak uprościć:
Powinno zadziałać.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 cze 2017, o 06:15 
Offline
Użytkownik

Dołączył(a): 09 lis 2014
Posty: 78
Pomógł: 0

o dziękuje za pomoc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO