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
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
co ci to przypomina (b==0) ? ... czy nie przypomina ci to warunku?
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
???
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
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 ?
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
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)
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
nawiasy nawet nie są tu konieczne - ale już chyba teraz wiesz jakie wartości zostaną zwrócone w wyniku takiego zapisu
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 ?
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
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 ]