09-09-2017, 08:59
Wracam do tematu bo hardware juz gotowe nie bez problemow o czym w innych watkach.
Chodzi o przekazanie _zawartosci_ pliku o okreslonej nazwie odczytanego z karty do tablicy "freq[]".
Utknalem bo mam problemy z jezykiem programowania, ktorego nie znam.
Funkcja wyglada nastepujaco:
void odczytpliku(char Name[10], unsigned long freq[])
{
File Preset;
SD.begin(10); //pin 10 to CS karty
Preset = SD.open(Name,FILE_READ);
Serial.println(Name); // dla kontroli
lcd.print(Name);
while (Preset.available()) //wykonuj pętlę dopókiwszystkie dane
{ //nie zostaną zczytane
Serial.write(Preset.read()); //wypisz zawartość pliku
// freq = Preset.read(); //tutaj jest problem bo pomimo iz funcja sie kompiluje to odczyt jest skaszaniony
}
Preset.close();
}
Problem jest jak przekazac odczytana zawartosc pliku o okreslonej nazwie do tablicy nazwanej " freq[]" aby jej zawartosc mozna bylo przekazac potem do funkcji wykonaj, ktora zajmuje sie kolejnym generowaniem czestotliwosci z listy zawartej w tablicy.
Funkcja w tej postaci z linia wykomentowana daje na monitorze portu szeregowego nastepujacy wynik:
Eyes
{30,60,100,110,130,170,230,320,350,410,
500,700,730,800,850,950,2970,5170,5430,5500,
7500,8000,12690,15190,15870,17500,30000,32500,37500,42500,
47500,77500,87500,90000,93500,122060,157500,162120,175000,232030,
236420,312330,322530,326500,397500,434510,478500,526070,532410,534250,
653690,655200,667000,679930,722010,750000,753070,922530,927100}
Jest to wynik prawidlowy bowiem zawiera nazwe pliku oraz w nawiasach tablice zawierajaca zestaw czestotliwosci do wygenerowania przez inna funkcje. Problemem dla mnie jest: jak zrobic aby zestaw ujety w nawiasach zostal przekazany do tablicy freq[] lacznie z nawiasami?
Jesli uda mi sie to rozwiazac to bede mial jeszcze jedno zagadnienie do rozwiazania: jak przekazac do tablicy listing nazw plikow z karty? A moze po prostu utworzyc na karcie plik Katalog i w nim przygotowac wykaz plikow do odczytu i podstawienia do tablicy, ktora bedzie sluzyla do przegladania i wyboru pliku do odczytu i wygenerowania zestawu przez AD9850?
Mam nadzieje ze jednak ktos sie odezwie zanim sam znajde rozwiazanie metoda prob i bledow :-(
Chodzi o przekazanie _zawartosci_ pliku o okreslonej nazwie odczytanego z karty do tablicy "freq[]".
Utknalem bo mam problemy z jezykiem programowania, ktorego nie znam.
Funkcja wyglada nastepujaco:
void odczytpliku(char Name[10], unsigned long freq[])
{
File Preset;
SD.begin(10); //pin 10 to CS karty
Preset = SD.open(Name,FILE_READ);
Serial.println(Name); // dla kontroli
lcd.print(Name);
while (Preset.available()) //wykonuj pętlę dopókiwszystkie dane
{ //nie zostaną zczytane
Serial.write(Preset.read()); //wypisz zawartość pliku
// freq = Preset.read(); //tutaj jest problem bo pomimo iz funcja sie kompiluje to odczyt jest skaszaniony
}
Preset.close();
}
Problem jest jak przekazac odczytana zawartosc pliku o okreslonej nazwie do tablicy nazwanej " freq[]" aby jej zawartosc mozna bylo przekazac potem do funkcji wykonaj, ktora zajmuje sie kolejnym generowaniem czestotliwosci z listy zawartej w tablicy.
Funkcja w tej postaci z linia wykomentowana daje na monitorze portu szeregowego nastepujacy wynik:
Eyes
{30,60,100,110,130,170,230,320,350,410,
500,700,730,800,850,950,2970,5170,5430,5500,
7500,8000,12690,15190,15870,17500,30000,32500,37500,42500,
47500,77500,87500,90000,93500,122060,157500,162120,175000,232030,
236420,312330,322530,326500,397500,434510,478500,526070,532410,534250,
653690,655200,667000,679930,722010,750000,753070,922530,927100}
Jest to wynik prawidlowy bowiem zawiera nazwe pliku oraz w nawiasach tablice zawierajaca zestaw czestotliwosci do wygenerowania przez inna funkcje. Problemem dla mnie jest: jak zrobic aby zestaw ujety w nawiasach zostal przekazany do tablicy freq[] lacznie z nawiasami?
Jesli uda mi sie to rozwiazac to bede mial jeszcze jedno zagadnienie do rozwiazania: jak przekazac do tablicy listing nazw plikow z karty? A moze po prostu utworzyc na karcie plik Katalog i w nim przygotowac wykaz plikow do odczytu i podstawienia do tablicy, ktora bedzie sluzyla do przegladania i wyboru pliku do odczytu i wygenerowania zestawu przez AD9850?
Mam nadzieje ze jednak ktos sie odezwie zanim sam znajde rozwiazanie metoda prob i bledow :-(
Poczatki zawsze sa trudne :-)
Arduino Mega256, Nano, Pro Mini.
Arduino Mega256, Nano, Pro Mini.