-
Data: 2020-06-12 10:53:08
Temat: Re: Działająca biblioteka C do VS1003?
Od: Marek <f...@f...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Thu, 11 Jun 2020 23:30:48 +0200, Atlantis <m...@w...pl>
wrote:
> while (VS_DREQ_PIN) {
> br = 0;
> res = f_read(&fsrc, buffer, 32, &br);
> if (res == FR_OK && br) {
> data_mode_on();
> for (i=0; i<br; i++) VS1003_SPI_transfer(buffer[i]);
> data_mode_off();
> }
> if (br == 0) {
> VS1003_stopSong();
> VS1003_startSong();
> f_lseek(&fsrc, 0);
> }
Ten kod nie jest optymalny dla vs'a.
Jak dreq jest wysoki to dopiero robisz fread, a to już za późno. Na
DREQ high musisz już mieć gotowy odczytany z sd bufor w ram a nie
dopiero go czytać z sd. Sekwencja powinna wyglądać tak: najpierw
czytasz pierwszy bufor, wysyłasz go do vs'a tak długo aż
zasygnalizuje DREQ low, dopiero wtedy uzupelniasz/czytasz następny
bufor z sd i sprawdzasz przed jego wysłaniem czy dreq jest high.
Bufor w ram na dane (typu FIFO) musisz mieć min 10kB (musi być
większy niż bufor vs'a) bo inaczej pierwsze wypełnienie bufora vs'a
będzie zbyt płytkie, co nie da czasu na odczyt kolejnej porcji danych
(fread możesz robić tylko wtedy gdy w buforze vs'a jest wystarczająco
dużo danych).
Inaczej zawsze będziesz miał zawsze nieczyste odtwarzanie z różnymi
dziwnymi efektami.
W pętli czytania zrób też tymczasowy printf gdy DREQ jest low, by się
upewnić czy faktycznie mcu widzi ten stan.
Jeszcze jest kwestia SPI, czy driver SPI vs'a na pewno czeka na
przesłanie całego bufora SPI (bufora słowa SPI) przed wysłaniem
następnego słowa?
{
--
Marek
Najnowsze wątki z tej grupy
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- Szukam: czujnik ruchu z możliwością zaączenia na stałe
- kabelek - kynar ?
- Podnieść masę o 0.6V
- Moduł BT BLE 5.0
- Pomiar amplitudy w zegarku mechanicznym
- ale zawziętość i cierpliwość
- Chiński elektrolizer tester wody
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
Najnowsze wątki
- 2025-01-04 Zbieranie danych przez www
- 2025-01-04 reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- 2025-01-04 w Nowym Roku 2025r
- 2025-01-04 Warszawa => Specjalista ds. IT - II Linia Wsparcia <=
- 2025-01-04 Warszawa => Java Developer <=
- 2025-01-04 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-04 Warszawa => System Architect (Java background) <=
- 2025-01-04 Wrocław => Application Security Engineer <=
- 2025-01-04 Chrzanów => Specjalista ds. public relations <=
- 2025-01-04 Katowice => Key Account Manager (ERP) <=
- 2025-01-03 Problem z odczytem karty CF
- 2025-01-03 Jazda z Warszawy do Krakowa teslą
- 2025-01-03 Wrocław => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-03 Warszawa => International Freight Forwarder <=
- 2025-01-03 Mińsk Mazowiecki => Area Sales Manager OZE <=