Dalej nurtuje mnie ta linijka kodu.Chciałbym poprosić o wyjaśnienie tej linii kodu bo ze względu na pojawienie się wskaźnika nie do końca ją rozumiem:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Sprawdzałem jak ta transmisja przebiega wczoraj na analizatorze i wiem jak to wygląda ale chodzi o to jaką rolę tutaj wskaźnik odgrywa. Uczę się cały czas tych wskaźników jest to dość ciężki temat dla mnie dlatego zwracam się z prośbą o wyjaśnienie.
Wiem tylko tyle że pętla działa do momentu wyzerowania zmiennej len i wiem także że funkcja która jest wywołana w ten sposób:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
powoduje że mam pewne spostrzeżenia, chciałbym zapytać o ich słuszność:
1. argument len ma wartość 4 czyli tyle ile danych w buforze
2. zapis *buf++ wskazuje najpierw na pierwszy element tablicy bufor i przy kolejnych postdekrementacjach zmiennej len, postinkrementacji podlega wskaźnik i wskazuje na kolejny element tablicy? Po prostu jest tak że zmniejszam len, zwiększam indeks tablicy poprzez wskaźnik?
3. Zastanawia mnie jeszcze to co z zerowym elementem tego bufora się dzieje... Na analizatorze było widać przekazanie sekund,minut,godzin czyli tak jakby trzech elementów tablicy. Widzę że tam są setne części sekundy a tak w ogóle to w dokumentacji tego układu scalonego jest napisane odnośnie tej komórki pamięci że jest tam jakiś CONTROL/STATUS 2... też to mnie nurtuje... nie mógłbym zacząć od adresu 0x02 i zmniejszyć bufor do 3 elementów?
4. I na razie ostatnia sprawa też związana z tymi adresami w układzie scalonym a mianowicie pod 0x02 są 0x03 są minuty a pod 0x04 są godziny i zastanawia mnie jak ten adres się zmienia w tym programie, ponieważ w wywołaniu funkcji jest 0x01 i nie jest dla mnie do końca zrozumiałe to w jaki sposób odnoszę do kolejnych adresów.
Jeżeli ktoś mógłby mi wyjaśnić co nieco będę wdzięczny, ponieważ jestem bliski zrozumienia w pełni tego programu jak i samej transmisji I2C....