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 20 maja 2025, o 00:41


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 6 sty 2014, o 11:13 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 gru 2012
    Posty: 530
    Lokalizacja: Bydgoszcz
    Pomógł: 8

    Na stronie atnel.pl są uaktualnienia do książek. Tam chyba powinno być to opisane. Sprawdź.

    Wysłane z mojego GT-I9100 przy użyciu Tapatalka

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 sty 2014, o 11:24 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27401
    Lokalizacja: Szczecin
    Pomógł: 1043

    ENOS napisał(a):
    W rozdziale dotyczącym programowej obsługi magistrali i2c w funkcji i2cPutbyte na końcu jest taki zapis
    return(b==0);
    Ma to być rezultat ACK bądź NACK.
    Czy nie powinno być return b; ?


    Nie powinno być return b;

    to co pokazuję w książce w rozdziałach warsztatowych to się nazywa właśnie nauka programowania C na praktycznych przykładach ;)

    co ci to przypomina (b==0) ? ... czy nie przypomina ci to warunku?

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


    ??? ;) jak na taki warunek spojrzysz to chyba widzisz że w środku masz wyrażenie logiczne, którego rezultatem może być albo TRUE albo FALSE czyli albo 1 albo 0 - chyba się zgodzisz ? prawda ?

    i chyba to rozumiesz ? prawda ? ;)

    No to teraz pójdź krok dalej i pomyśl ... dlaczego takie wyrażenie miałoby móc występować TYLKO w warunku IF ?

    może występować poza nim .... ZAWSZE POWTARZAM przez całą książkę - na wszystko co w nawiasach patrz jak na WYRAŻENIE i staraj się dostrzec jaki będzie wynik tego wyrażenia, to podobnie jak np z liczbą 4. Można ją przedstawić tak

    Cytuj:
    4


    ale równie dobrze tak:

    Cytuj:
    (2+2)


    ;)

    nawiasy nawet nie są tu konieczne - ale już chyba teraz wiesz jakie wartości zostaną zwrócone w wyniku takiego zapisu

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


    zgadza się ?

    albo TRUE (czyli 1) albo FALSE (czyli 0) .... mam nadzieję że teraz jaśniej i że dowiedziałeś się czegoś nowego - że można w ten sposób konstruować nawet bardziej skomplikowane wyrażenia .... inny przykład ?

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


    ;) fajne ??? już widzisz, że zawsze gdy (b==1) będzie TRUE to a przyjmie wartość = c, ale gdy będzie FALSE to a będzie równe 0

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 sty 2014, o 15:22 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 mar 2013
    Posty: 739
    Lokalizacja: Poznań
    Pomógł: 84

    Witam
    Zależy dla kogo zakręcony warunek po
    dla mnie bardziej czytelne jest wyrażenie (b==0)
    mimo ,że rozumiem oba zapisy

    Wszystko zależy od piszącego program z którego skorzysta,
    oba zapisy są równoważne jeśli chodzi o efekt
    (jeśli się mylę niech ktoś mnie poprawi )



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 sty 2014, o 15:26 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27401
    Lokalizacja: Szczecin
    Pomógł: 1043

    ENOS napisał(a):
    Pytanie dlaczego nie napisać wprost (b?1;0) tylko zakręcić


    Zakręcić ???

    chyba kolega raczy zartować ?

    jeśli to dla ciebie zakręcenie to świadczy tylko o tym, że jeszcze nie miałeś z tym nigdy do czynienia, że nie masz praktyki, że nie wiesz że takie konstrukcje są dozwolone w wielu językach programowania - wcale nie tylko w C i są stare jak świat ...

    więc zamiast narzekać, że zakręcone

    zrozum - poznałeś jakąś tam nową technikę programowania dzięki książce ... a teraz staraj się obserwować i myśleć gdzie czasem ci się przyda zamiast narzekać na zakręcenie .... bo dla jednego to bardziej zakręcone może być (B?1:0) a dla innego (b==0) ...

    rozumiesz ?

    poza tym porównaj sobie wielkość wygenerowanego kodu we flash w jednym i w drugi wypadku razem ... pokombinuj, posprawdzaj a sam dostrzeżesz różnice i z czasem sam będziesz używał takich technik

    czy wolałbyś żeby książka nic o tym nie mówiła ?

    ale gdyby mieć takie podejście to w zasadzie po co w ogóle książkę pisać ? :lol:

    A sposób jest wyjaśniony - WYRAŻENIE - to jest słowo KLUCZ

    tylko jakoś ciężko niektórym to zrozumieć

    że wszystko w C prawie jest wyrażeniem - i dzięki temu do dalszych działań brany jest pod uwagę wynik takiego WYRAŻENIA - to dzięki temu jest spora elastyczność tego języka ... i warto się tego uczyć ... bo sam zobaczysz (choć może później) że to pomaga

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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