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



Teraz jest 28 mar 2024, o 20:31


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 1 paź 2018, o 22:29 
Offline
Użytkownik

Dołączył(a): 08 cze 2016
Posty: 204
Lokalizacja: Katowice
Pomógł: 0

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 :oops:
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 konsoli coś takiego
collect2.exe: error: ld returned 1 exit status
make: *** [00a_NAUKA.elf] Błąd 1


Poz. Darek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 paź 2018, o 01:29 
Offline
Użytkownik

Dołączył(a): 14 sty 2017
Posty: 39
Pomógł: 4

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 paź 2018, o 18:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Cześć,
Wczytaj się w to co skrótowo napisał kolega l3n1n.
Daro68 napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
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. :roll:
porada: na końcu za klamrami pisz sobie komentarze. np.

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

pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 paź 2018, o 23:44 
Offline
Użytkownik

Dołączył(a): 08 cze 2016
Posty: 204
Lokalizacja: Katowice
Pomógł: 0

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

Poz. Darek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2018, o 06:41 
Offline
Użytkownik

Dołączył(a): 14 sty 2017
Posty: 39
Pomógł: 4

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ć:

Składnia: [ Pobierz ] [ Ukryj ]
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:

Obrazek

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:

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


Wynik:

Obrazek

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2018, o 21:07 
Offline
Użytkownik

Dołączył(a): 08 cze 2016
Posty: 204
Lokalizacja: Katowice
Pomógł: 0

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ń .
:lol:
i jeszcze coś takiego wypociłem ale efekt był marny
Składnia: [ Pobierz ] [ Ukryj ]
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 :oops: więc biorę się ponownie za kod i for jeszcze raz dzięki za pomoc i uwagi
Poz. Darek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2018, o 21:40 
Offline
Użytkownik

Dołączył(a): 14 sty 2017
Posty: 39
Pomógł: 4

Daro68 napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 paź 2018, o 22:04 
Offline
Użytkownik

Dołączył(a): 08 cze 2016
Posty: 204
Lokalizacja: Katowice
Pomógł: 0

Próbuje i uczę się i kombinuję :mrgreen: 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ń
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Poz. Darek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2018, o 09:20 
Offline
Użytkownik
Avatar użytkownika

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

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:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Niesprawdzone, ale może zadziała ;)
I jeszcze jedna uwaga, prawdopodobnie linijki 4 - 9 można zastąpić jedną:
Składnia: [ Pobierz ] [ Ukryj ]
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 postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2018, o 19:03 
Offline
Użytkownik

Dołączył(a): 08 cze 2016
Posty: 204
Lokalizacja: Katowice
Pomógł: 0

Dzięki za podpowiedz kod w całości działa poprawnie tylko mała kosmetyka :D a z tego co ty napisałeś to ja sobie popłynąłem HO..HO :o a co się tyczy
Składnia: [ Pobierz ] [ Ukryj ]
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 :shock: podejście
Poz. Darek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2018, o 19:12 
Offline
Użytkownik
Avatar użytkownika

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

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ć. ;)



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