Witam Kolegów,
Wiem, mógłbym to sprawdzić, ale może ktoś zna odpowiedź bez sprawdzania. "Zwykłe" zmienne, które używane są w pętli głównej jak i w przerwaniu należy zaopatrzyć w specyfikator volatile... z wiadomych względów. Ja to jest w przypadku pól struktur? Jeśli struktura używana jest zarówno w pętli głównej jak i w przerwaniu to musi być volatile, czy tak jak w przypadku tablic nie potrzeba tego robić? A co z tablicami struktur? robiw
PS.
Pytam bo mam funkcje, do której przekazuję przez wartość np. pole struktury a struktura ta (jej pola) może podlegać zmianie w ISR. Gdy daję jej polom specyfikator volatile to GCC "krzyczy", że parametr wywołania funkcji nie jest volatile a przekazuję mu element volatile. Z drugiej strony nie chcę nadawać argumentowi wywołania funkcji specyfikatora volatile bo nie wszystkie argumenty, które jej przekazuje sa volatile...
Wiem, mógłbym to sprawdzić, ale może ktoś zna odpowiedź bez sprawdzania. "Zwykłe" zmienne, które używane są w pętli głównej jak i w przerwaniu należy zaopatrzyć w specyfikator volatile... z wiadomych względów. Ja to jest w przypadku pól struktur? Jeśli struktura używana jest zarówno w pętli głównej jak i w przerwaniu to musi być volatile, czy tak jak w przypadku tablic nie potrzeba tego robić? A co z tablicami struktur? robiw
PS.
Pytam bo mam funkcje, do której przekazuję przez wartość np. pole struktury a struktura ta (jej pola) może podlegać zmianie w ISR. Gdy daję jej polom specyfikator volatile to GCC "krzyczy", że parametr wywołania funkcji nie jest volatile a przekazuję mu element volatile. Z drugiej strony nie chcę nadawać argumentowi wywołania funkcji specyfikatora volatile bo nie wszystkie argumenty, które jej przekazuje sa volatile...
