-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.n
et!weretis.net!feeder7.news.weretis.net!feeder1-2.proxad.net!proxad.net!feeder1
-1.proxad.net!193.141.40.65.MISMATCH!npeer.de.kpn-eurorings.net!npeer-ng0.de.kp
n-eurorings.net!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.ams4!peer
.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc
-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!n
ot-for-mail
From: Marek <f...@f...com>
Newsgroups: pl.misc.elektronika
Subject: Re: Działająca biblioteka C do VS1003?
Date: Fri, 12 Jun 2020 10:53:08 +0200
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
In-Reply-To: <5ee2a289$0$553$65785112@news.neostrada.pl>
References: <5ee1fd1a$0$536$65785112@news.neostrada.pl>
<5ee1fd1a$0$536$65785112@news.neostrada.pl>
<a...@n...neostrada.pl>
<5ee254f7$0$541$65785112@news.neostrada.pl>
<a...@n...neostrada.pl>
<5ee2a289$0$553$65785112@news.neostrada.pl>
Message-ID: <a...@n...neostrada.pl>
User-Agent: Groundhog 2.08 Newsreader for Android
http://83.220.108.211/bins/groundhog/
Lines: 43
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 37.248.162.76
X-Trace: 1591951990 unt-rea-b-01.news.neostrada.pl 525 37.248.162.76:8680
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 2958
X-Received-Body-CRC: 1737558479
Xref: news-archive.icm.edu.pl pl.misc.elektronika:754155
[ ukryj 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
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- 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 ?
Najnowsze wątki
- 2025-01-17 Wróblewo => Analityk finansowy <=
- 2025-01-17 Żerniki => Specjalista ds. Employer Brandingu <=
- 2025-01-17 pradnica krokowa
- 2025-01-17 Warszawa => International Freight Forwarder <=
- 2025-01-17 Warszawa => Helpdesk Specialist <=
- 2025-01-17 Kraków => User Experience Designer <=
- 2025-01-17 Nieustający podziw...
- 2025-01-17 zawsze parkuj tyłem do ulicy
- 2025-01-16 nie będzie naprawy pod blokiem?
- 2025-01-16 korytarz zycia
- 2025-01-16 Katowice => Key Account Manager (ERP) <=
- 2025-01-16 Środa Wielkopolska => Specjalista ds. public relations <=
- 2025-01-16 Poznań => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-16 Gdańsk => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-16 Re: Bodnatura BARDZO tanio wyceniła Owsiaka. HAŃBA!