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



Teraz jest 31 sty 2025, o 15:42


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 2 lip 2020, o 17:51 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 428
Lokalizacja: Puck
Pomógł: 7

Witam
Mam takie pytanie jak programowo obliczać ile kroków ma tablica
tak dla lepszego zrozumienia podaję przykładowy kod
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Chciałbym zmieniać efekty zapalania się diod bez ciągłego zmieniania liczby kroków w warunku for
ma się sama dostosować do liczby kroków



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 18:11 
Offline
Użytkownik

Dołączył(a): 17 mar 2020
Posty: 70
Pomógł: 5

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: 2 lip 2020, o 18:12 
Offline
Użytkownik

Dołączył(a): 05 sty 2015
Posty: 393
Lokalizacja: Mielec
Pomógł: 14

Nie musisz w petli for podawać wszystkie argumenty np for(a=0 , a++, ) i w petli dać warunek if(tab[a] =0) break;
Lub użyć strlen() choć to bardziej do stringów.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 18:19 
Offline
Użytkownik

Dołączył(a): 17 mar 2020
Posty: 70
Pomógł: 5

oba twoje rozwiązania zakładają, że 0 jest "magicznym znakiem zakonczenia", a w pierwszym poście już widać, że 0 to normalna wartość jaka może być używana



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 18:42 
Offline
Użytkownik

Dołączył(a): 05 sty 2015
Posty: 393
Lokalizacja: Mielec
Pomógł: 14

Dlatego napisałem że to bardziej do stringów, zapomnialem o sizeof

Hmmm a co z np nie wykorzystaną przestrzenią tablicy np tylko 10 z 17 znaków, pozostale są wypełnione zerami "0" i dając pętle będzie "iść" dalej 17 znaków a nie np 10 które są w zamiarze.

Pozostałe 7 znaków zabierze nam niepotrzebnie czas uC



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 18:59 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 428
Lokalizacja: Puck
Pomógł: 7

Tablica sterująca efektem LED ma wyglądać tak i chcę widzieć jakie mam ustawione efekty

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


0 -> to LED zgaszony , 1 -> zapalony LED nr1. itd.
i teraz jak obliczyć ilość kroków dla warunku for

Gdzieś był podany taki przykład w poradniku czy poście, szukałem ale nie mogę go znależć
dlatego piszę tutaj może ktoś naprowadzi na poradnik albo podpowie jak to zrobić



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 19:39 
Offline
Użytkownik

Dołączył(a): 05 sty 2015
Posty: 393
Lokalizacja: Mielec
Pomógł: 14

miki53 napisał(a):

0 -> to LED zgaszony , 1 -> zapalony LED nr1. itd.
i teraz jak obliczyć ilość kroków dla warunku for



Teraz to nie rozumiem,
Inaczej może, iloma ledami chcesz sterować?
Prawdopodobnie jest to twoja właśnie wielkość tablicy więc to jest "wiadoma" a nie niewiadoma "x" która trzeba "szukać"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 19:53 
Offline
Użytkownik

Dołączył(a): 29 mar 2012
Posty: 595
Lokalizacja: Jaworzno
Pomógł: 39

Nie wiem czy o to chodzi. ale jak chcesz tylko ograniczyć liczbę iteracji w pętli for to można to zrobić na dwa sposoby. Zrobić np. #define ILE_KROKOW <wartość> i w pętli for wstawić ILE_KROKOW zamiast 9-ki lub zadeklarować dodatkową zmienną np. uint8_t ile_krokow i podstawić tą zmienną do pętli zamiast 9-ki.

_________________
Pozdrawiam
PP



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 20:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

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


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lip 2020, o 20:18 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 428
Lokalizacja: Puck
Pomógł: 7

chodzi mi oto że jak stworzę sobie tablicę efektów LED np. nr1
dla 8 diod i efektem ich zapalania w tablicy z 8 kombinacjami
to zostanie mi wyliczona wartość ośmiu kroków i podstawiona
do warunku for aby wykonała się seria 8 kroków

A jak stworzę tablicę dla 16 diod z efektem zajmującym 20 kroków
to ta zmienna w warunku for ma mi przyjąć wartość dla tej tablicy 20
kroków

Warunek for ma być ten sam ale zmienna ustalająca ilość kroków
ma się zmieniać zależnie od zastosowanej tablicy

Jaśniej nie wiem jak wytłumaczyć o co mi chodzi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2020, o 07:21 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 428
Lokalizacja: Puck
Pomógł: 7

Dzięki anshar

Działa super :D



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 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