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 więc biorę się ponownie za kod i for jeszcze raz dzięki za pomoc i uwagi 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ę ale coś mi nie wychodzi do sedna przy rozjaśnianiu i>=0 i dodaję i++ czyli zwiększam o 1 to 0,1,2,3 to przy gaszeniu zmienna i<=3 powinna odliczyć i-- od ,3,2,1,0 tylko wartości 1,2,3 występują w if i else i dla tego dodałem jeszcze jedną zmienną „flaga”myślę że założenie jest słuszne tylko wykonanie kiepskie proszę o jakieś podpowiedzi a co się tyczy ćwiczeń słuszna uwaga wgrałem sobie Code:Blocks do testowania i ćwiczeń 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 a z tego co ty napisałeś to ja sobie popłynąłem HO..HO a co się tyczy 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 podejście 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/ |