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.htmlJeś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