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



Teraz jest 29 mar 2024, o 05:56


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 16 sty 2022, o 21:32 
Offline
Użytkownik

Dołączył(a): 19 lut 2020
Posty: 48
Pomógł: 0

Czołem!
Zatrzymałem się w miejscu i kombinuję w jaki sposób najprościej można przypisać poszczególne bity portu do wartości zmiennej i to odczytać. Może podam na przykładzie. Mam ledy podłączone do PD5, PD6, PD7 i PB0 - w kolejności odpowiednio 1, 2, 3 i 4. Chciałbym załączać je zgodnie z wartością jakiejś zmiennej odebranej po uarcie. Czyli jeśli zmienna będzie miała wartość 3, to załączą się ledy na portach PD5 i PD6. W jaki sposób mogę przypisać wartości pojedynczych bitów do konkretnych pinów? Zapewne jest jakiś banalny sposób a ja mocno kombinuję. Tablica będzie dobrym pomysłem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sty 2022, o 21:47 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

magnetic napisał(a):
Tablica będzie dobrym pomysłem?

to będzie jedyny rozsądny i szybki sposób

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sty 2022, o 23:41 
Offline
Użytkownik

Dołączył(a): 19 lut 2020
Posty: 48
Pomógł: 0

Mam tablicę, która przez definicje ma wpisane wartości np. (1<<PD5), (1<<PC3), (1<<PB0). Wartość zmiennej X jest zależna od tego co przyjdzie po uarcie. W jaki sposób wrzucić do pętli załączanie poszczególnych bitów?
Jedyne co mi przychodzi do głowy, i pewnie jest to źle bo niezbyt działa, to :

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


ale jak to zrobić jeśli mam 3 różne porty wyjściowe w tablicy? Próbowałem z maskowaniem, ale blokuje to inne wyjścia.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sty 2022, o 09:09 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

bo pewnie źle maskowałeś - pokaż jak to robisz z tym maskowaniem to będzie można pomóc - bo tak to trzeba być jasnowidzem

obejrzyj sobie może też ten poradnik:


_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 sty 2022, o 21:15 
Offline
Użytkownik

Dołączył(a): 19 lut 2020
Posty: 48
Pomógł: 0

Maskowanie zrobiłem tak (1 ustawiam na pinach do których są podpięte ledy połączone z tablicą) i działa ale nie do końca:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Ledy na portach przypisanych w tablicy działają, ale blokuje się działanie innego leda na jednym ze wspólnych portów.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 sty 2022, o 21:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1146
Lokalizacja: Kraków
Pomógł: 93

magnetic napisał(a):
blokuje się działanie innego leda na jednym ze wspólnych portów.
Co znaczy na jednym ze wspólnych portów?
A nie powinieneś maskować w dwóch krokach? Najpierw zerujesz bity, na których masz LEDy:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
a w drugim kroku ustawiasz te, które powinny być ustawione:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Dzięki takiemu zapisowi nie ruszasz pozostałych bitów na porcie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2022, o 00:07 
Offline
Użytkownik

Dołączył(a): 19 lut 2020
Posty: 48
Pomógł: 0

Czy chodzi o coś takiego?

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 sty 2022, o 00:18 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Sprawdź w praktyce i daj znać - ale dokładnie coś w tym stylu - trzeba dobre maski poustawiać a później odpowiednio albo zapalać albo gasić bity

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2022, o 15:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1146
Lokalizacja: Kraków
Pomógł: 93

Chyba nie do końca. Brakuje negacji przy iloczynie



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO