markaj napisał(a):
czy wtedy konwersja tak dużej ilości danych nie spowolni samej procedury zapisu?
Tak czy siak musisz tą konwersję wykonać, a nie widzę powodu dla którego musiałaby się odbywać w przerwaniu (przechowywanie wartości w stringu zwiększa jedynie zajętość pamięci; konwersja w przerwaniu wydłuża je, mogąc powodować przerwanie jakiejś ważnej operacji w głównej pętli na zbyt długo - konwertując poza przerwaniem masz możliwość kontroli tego).
markaj napisał(a):
jak zatem wyznaczyć poziom zajętości bufora? czekać do jego całkowitego wypełnienia?
Temat przecież powstał między innymi dlatego, że nowe dane nadlatują Ci zanim zwolnisz dla nich miejsce... bufor musi mieć więc rozmiar (co najmniej) zapisywanej paczki + rozmiar danych które nadlecą podczas zapisywania tejże paczki.
markaj napisał(a):
jakiej wielkości bufor pozwoli na uzyskanie jak największej częstotliwości próbkowania
Na AVRach jest to bez znaczenia. Znaczenie za to ma sposób w jaki go oprogramujesz.
markaj napisał(a):
czytałem, że zapis do karty SD odbywa się całymi sektorami po 512 Mbajtów. czy z tego wynika, taką wielkość powinno się stosować?
Nie Mbajtów, a bajtów. I nie 512, a co najmniej 512. Warto to stosować, o ile jesteś w stanie zapewnić, że zapisywane dane o wielkości sektora nie będą rozłożone pomiędzy 2 sektorami.