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



Teraz jest 27 gru 2024, o 13:41


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 23 wrz 2019, o 21:54 
Offline
Nowy

Dołączył(a): 23 wrz 2019
Posty: 5
Pomógł: 0

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2019, o 14:44 
Offline
Nowy

Dołączył(a): 23 wrz 2019
Posty: 5
Pomógł: 0

Dziękuję, problem rozwiązano



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2019, o 18:22 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2590
Pomógł: 128

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



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: 3 ] 

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