ATNEL tech-forum https://forum.atnel.pl/ |
|
PWM rozjaśnianie – gaszenie led https://forum.atnel.pl/topic21356.html |
Strona 1 z 1 |
Autor: | Daro68 [ 1 paź 2018, o 22:29 ] |
Tytuł: | PWM rozjaśnianie – gaszenie led |
Jak w tytule chcę jednym przyciskiem rozjaśniać i gasić led program tylko tylko rozjaśnia a z gaszeniem jest problem proszę o wskazówki ![]() język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
a w konsoli coś takiego collect2.exe: error: ld returned 1 exit status make: *** [00a_NAUKA.elf] Błąd 1 Poz. Darek |
Autor: | l3n1n [ 2 paź 2018, o 01:29 ] |
Tytuł: | Re: PWM rozjaśnianie – gaszenie led |
W linii 21 masz uint8_t i = 0; następnie inkrementujesz w linii 38 i++ potem znowu ustawiasz w linii 40 wartość i na 0. Przeanalizuj dokładnie co twój program robi w kolejnych liniach. Sprawdź działanie w programie konsolowym (na przykład Dev-C++) jak zachowują się zmienne w poszczególnych liniach a zobaczysz gdzie zrobiłeś błąd. |
Autor: | Daro69 [ 2 paź 2018, o 18:06 ] |
Tytuł: | Re: PWM rozjaśnianie – gaszenie led |
Cześć, Wczytaj się w to co skrótowo napisał kolega l3n1n. Daro68 napisał(a): język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. skoro napisałeś że się rozjaśnia, to wnioskuję że przy wklejaniu kodu gdzieś wchłonęło jakiś nawias. ![]() porada: na końcu za klamrami pisz sobie komentarze. np. język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. pozdrawiam. |
Autor: | Daro68 [ 2 paź 2018, o 23:44 ] |
Tytuł: | Re: PWM rozjaśnianie – gaszenie led |
Kod przeanalizowałem oto moje wypociny nie wiem czy dobrze , program działa poprawnie do else potem dioda przy kolejnym naciśnięciu zapala się na jakieś 25PWM i kolejne naciśniecie 255 PWM i program staje język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Poz. Darek |
Autor: | l3n1n [ 3 paź 2018, o 06:41 ] |
Tytuł: | Re: PWM rozjaśnianie – gaszenie led |
Przepraszam Daro68, nie chcę cię zniechęcać ani obrażać, ale nie przeanalizowałeś tego tak jak cię prosiłem. W sumie poruszasz się po omacku i strzelasz jak powinno wyglądać rozwiązanie. Nie chcę cię tez publicznie linczować więc wybacz ewentualne moje zwroty które wpłyną negatywnie na twoje samopoczucie. Jesteś leń ![]() Zobacz, ja zrobiłem to co miałeś ty zrobić: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Po zapisaniu, skompilowaniu i uruchomieniu otrzymujemy: Jak widzisz w tablicy jasnosc[] poszczegolne wartości zaczynają się od pozycji 0 do pozycji 3 a nie od 1 do 4. Mirek napisał BB a ty go chyba masz, tam te wszystkie wiadomości są podane na tacy. Z kolei druga część twojego ifa też może być napisana przy pomocy pętli FOR: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Wynik: Więcej ci nie podpowiem, musisz pomyśleć trochę sam. Masz wędkę a rybę sobie złów sam. I tak nie ma lepszej wędki niż BB + właśnie takie sprawdzanie co się dzieje ze zmiennymi w danym momencie jak ci zaprezentowałem. |
Autor: | Daro68 [ 3 paź 2018, o 21:07 ] |
Tytuł: | Re: PWM rozjaśnianie – gaszenie led |
Nie ma za co przepraszać a tym bardziej nie mam zamiaru się obrażać ja jestem wdzięczny za każdą pomoc i uwagi zdaję sobie sprawę że nauka idzie mi trochę opornie a zaczynałem praktycznie od nauki klawiatury a „C” jest dla mnie nie lada wyzwaniem a teraz do tematu analizowałem kod i twoje uwagi efekty sam oceniłeś l3n1n napisał(a): Jesteś leń . ![]() i jeszcze coś takiego wypociłem ale efekt był marny język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. a z pentlom for też próbowałem ![]() Poz. Darek |
Autor: | l3n1n [ 3 paź 2018, o 21:40 ] |
Tytuł: | Re: PWM rozjaśnianie – gaszenie led |
Daro68 napisał(a): język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Wczytuj się w to co ci ludzie podpowiadają. W tym przykładzie inkrementacja czyli i++ powinno być pisane po OCR0 = jasnosc[i]. Pamiętaj ze w tablicy jasnosc[] masz cztery liczby. Ich kolejne numery (nie wartości) to 0, 1, 2, 3 wiec nie musisz pisać i <= 4 bo wtedy program nie potrzebnie wykonuje kolejny raz pętlę. Dla jasnosc[4] nie ma żadnej wartości w tablicy. Z kolei nawet gdyby się w tym przykładzie coś działo to zadzieje się bardzo szybko, nie dałeś delaya. Popisz sobie trochę dla wprawy programików konsolowych, tak jak w przykładach z mojego posta. Popatrz co się będzie działo gdy zamiast FOR dasz IF. Możesz też dać WHILE i pewnie zadziała. Popatrz co o tych pętlach pisał Mirek w BB. Musisz to zrozumieć bo inaczej nie ruszysz z miejsca. |
Autor: | Daro68 [ 11 paź 2018, o 22:04 ] |
Tytuł: | Re: PWM rozjaśnianie – gaszenie led |
Próbuje i uczę się i kombinuję ![]() ![]() język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Poz. Darek |
Autor: | Marhef [ 12 paź 2018, o 09:20 ] |
Tytuł: | Re: PWM rozjaśnianie – gaszenie led |
Hmmm, ten fragment nie zadziała. Zauważ, że warunek w linijce 12 nigdy nie będzie spełniony, ponieważ w linijkach 4 i 5 ustawiasz flagę na 1. Na szybko spłodziłem coś takiego: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. ![]() I jeszcze jedna uwaga, prawdopodobnie linijki 4 - 9 można zastąpić jedną: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. UWAGA! Pisałem bez możliwości kompilacji, prawdopodobnie będzie trzeba coś zmienić, żeby zadziałało. |
Autor: | Daro68 [ 12 paź 2018, o 19:03 ] |
Tytuł: | Re: PWM rozjaśnianie – gaszenie led |
Dzięki za podpowiedz kod w całości działa poprawnie tylko mała kosmetyka ![]() ![]() język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. próbowałem zastosować ale coś nie chce zagrać ale popracuje jeszcze nad tym to bardzo ciekawe ![]() Poz. Darek |
Autor: | Marhef [ 12 paź 2018, o 19:12 ] |
Tytuł: | Re: PWM rozjaśnianie – gaszenie led |
Nie, nie, bez if na początku. To jest instrukcja warunkowa, chyba Mirek opisał w blubuku, w części z teorią. To tak, żeby coś krótko napisać. ![]() |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |