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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 18 kwi 2025, o 16:42


    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 ] [ Zaznacz wszystko ]
    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 ] [ Zaznacz wszystko ]
    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 ] [ Zaznacz wszystko ]
    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: 1168
    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: 1168
    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 2 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