ATNEL tech-forum
https://forum.atnel.pl/

C++ Zmiana wierszy z przełącznika dip switch ''klawiatura''
https://forum.atnel.pl/topic22576.html
Strona 1 z 1

Autor:  kalafior911 [ 23 wrz 2019, o 21:54 ]
Tytuł:  C++ Zmiana wierszy z przełącznika dip switch ''klawiatura''

Dzień dobry
Mam problem w temacie podmienienia wierszy w małym programie w C++.
Otóż tyczy on czegoś w rodzaju stroboskopu, ale to mało istotne.
Dotychczas wybór odstępów pomiędzy mignięciami wybierało się na przełącznikach typu dip switch 'klawiatura'. Pewnie znane każdemu. Jednak wybór innego czasu wymagał powrotu switcha na pozycję 'off', i przesunięcie innego na pozycję 'on'. Chciałem to rozwiązać na enkoderze 0-9 pozycyjnym. Regulowany śrubokrętem, obrotowy. Mój przypadek tyczy egzemplarza, gdzie jeden pin łączy się/nie łączy, z czterema innymi. Działa to jak wiecie binarnie.
0001
0010
0011 itd. Daje to wiele kombinacji.
Przechodząc do pytania. Poniższe wiersze wyraźnie mówią o 'załączaniu' kolejnych pinout'ów, co wywołuję reakcję uC który daje tyle i tyle ms:

if (!(PINC & 0x08))// PC3 jezeli przycisk jest wcisniety
czas = 7;
if (!(PINC & 0x04))// PC2 jezeli przycisk jest wcisniety
czas = 14;
if (!(PINC & 0x02))// PC1 jezeli przycisk jest wcisniety
czas = 21;
if (!(PINC & 0x20))// PC5 jezeli przycisk jest wcisniety
czas = 28;
if (!(PINC & 0x10))// PC4 jezeli przycisk jest wcisniety
czas = 35;
if (!(PINC & 0x01))// PC0 jezeli przycisk jest wcisniety
czas = 42;
if (!(PINB & 0x20))// PB5 jezeli przycisk jest wcisniety
czas = 49;

Moje pytanie tyczy tego, jak zmienić te wiersze, by jednoczesne wciśnięcie np PC3 i PC2 sprawiło by wywołać przykładowe 10ms.
Oczywistym jest też, że samodzielne załączenie PC3(7ms) i samodzielne PC2(14ms), powinno dalej funkcjonować.
Dziękuję za ewentualną pomoc.

Autor:  kalafior911 [ 3 paź 2019, o 14:44 ]
Tytuł:  Re: C++ Zmiana wierszy z przełącznika dip switch ''klawiatur

Dziękuję, problem rozwiązano

Autor:  micky [ 3 paź 2019, o 18:22 ]
Tytuł:  Re: C++ Zmiana wierszy z przełącznika dip switch ''klawiatur

Super, to się podziel jak to zrobiłeś - inni skorzystają.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/