15-09-2017, 10:56
Witam,
Podane podpowiedź nie powoduje zwiększonej ilości odczytów z karty SD. Przecież odczyt z karty odbywa się sekwencyjnie. Jeśli otwierasz plik do odczytu to czytany jest od początku. Dopóki nie używa się odpowiednich funkcji lub też nie otwiera go na nowo to czytane są kolejne dane.
Podałem taki sposób rozwiązania problemu, bo skoro nie można zczytać za jednym razem wszystkich częstotliwości do tablicy w programie, to raczej trzeba to robić pojedynczo. Czytanie częstotliwości "grupami" może zabierać tyle czasu, że będzie to powodować przestój w zmianie częstotliwości generatora (nie wiem jak długo dana częstotliwość ma być generowana). W podanym rozwiązaniu odczyt i konwersja będzie trwać zbliżoną ilość czasu.
W podanym przykładzie: https://www.arduino.cc/en/Tutorial/ReadWrite realizowany jest odczyt z karty. Wystarczy lekka modyfikacja. Tam odczytany znak przekazywany jest do Serial-a (stream). Wystarczy dodać warunek napotkania przecinka, a następnie otrzymany ciąg (bez przecinka) przekonwertować za pomocą parseInt().
Częstotliwość generować przez określony czas i przeczytać kolejne znaki w otwartym do odczytu pliku.
Pozdrawiam,
Smaczek.
Podane podpowiedź nie powoduje zwiększonej ilości odczytów z karty SD. Przecież odczyt z karty odbywa się sekwencyjnie. Jeśli otwierasz plik do odczytu to czytany jest od początku. Dopóki nie używa się odpowiednich funkcji lub też nie otwiera go na nowo to czytane są kolejne dane.
Podałem taki sposób rozwiązania problemu, bo skoro nie można zczytać za jednym razem wszystkich częstotliwości do tablicy w programie, to raczej trzeba to robić pojedynczo. Czytanie częstotliwości "grupami" może zabierać tyle czasu, że będzie to powodować przestój w zmianie częstotliwości generatora (nie wiem jak długo dana częstotliwość ma być generowana). W podanym rozwiązaniu odczyt i konwersja będzie trwać zbliżoną ilość czasu.
W podanym przykładzie: https://www.arduino.cc/en/Tutorial/ReadWrite realizowany jest odczyt z karty. Wystarczy lekka modyfikacja. Tam odczytany znak przekazywany jest do Serial-a (stream). Wystarczy dodać warunek napotkania przecinka, a następnie otrzymany ciąg (bez przecinka) przekonwertować za pomocą parseInt().
Częstotliwość generować przez określony czas i przeczytać kolejne znaki w otwartym do odczytu pliku.
Pozdrawiam,
Smaczek.