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



Teraz jest 28 mar 2024, o 17:45


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 3 paź 2019, o 14:58 
Offline
Użytkownik

Dołączył(a): 09 lip 2019
Posty: 106
Pomógł: 10

Nie wiem, czy takie wyjaśnienie wystarczy... ale generalnie - jeśli funkcja nic nie zwraca - wtedy stusuje się pusty typ danych (void) - i wtedy taka funkcja jest trochę odpowiednikiem procedury w PASCALu.
http://www.algorytm.edu.pl/funkcje-w-c/funkcje-typu-void.html
Jeśli funkcja ma coś zwrócić przez 'return' to trzeba podać jaki ma to być typ - ponieważ TWI_read zwraca bajt pobrany z interfejsu TWI - to użyty został typ danych uint8_t .

Jeśli nie poda się typu danych, wtedy kompilator domyślnie zamieni to na int, jednak w pierwszej z tych funkcji założyłbym, że to po prostu edycyjna pomyłka i tam też powinien się znaleźć void.
Zwykle kompilator ostrzeże o takim przypadku dwoma warningami
Severity Code Description Project File Line
- Warning return type defaults to 'int'
- Warning control reaches end of non-void function



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2019, o 21:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 mar 2015
Posty: 313
Lokalizacja: Czerwionka-Leszczyny
Pomógł: 22

Różnice wg. mnie:
TWI_Start(); taki zapis to wywołanie funkcji TWI_Start
void TWI_Stop(void); to jest funkcja bez argumentów i nic nie zwraca
void TWI_write(uint8_t bajt); to funkcja, do której przekazujemy argument (zmienną bajt) typu uint8_t
uint8_t TWI_read(uint8_t ack); to funkcja, do której przekazujemy argument (zmienną ack) typu uint8_t a funkcja ta zwraca nam jakąś wartość typu uint8_t poprzez return

To tyle. Jeśli się mylę to niech mnie ktoś poprawi. Człowiek omylnym przecież jest.

_________________
http://www.avrboss.pl



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

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