Tutaj AVR musi sam czytać dane z karty i przesyłać je do tego dekodera po wspólnej SPI (jeśli mamy tylko jedną)
Nie jest jednak tak źle jak to wygląda bo dekoder ma bufor 2048 bajtów i jak go załadujemy to mamy 100ms na inne zadania.
Te shieldy są jednak produkowane głównie dla Ardu UNO i nie pasują bezpośrednio do MEGA a mi przyda się więcej SRAM więc przerobiłem sobie shielda. Załączam krótkie foto-story.
Program teraz odtwarza automatycznie, po kolei, pliki "001.mp3" do "099.mp3" ale różnie dobrze można odtworzyć kazdy inny plik subem "Call Play_song( "guetta.mp3")" Prosze tylko pamiętać że nazwy plików na karcie powinny mieć max 8 liter plus rozszerzenie.
Główny kod jest bardzo prosty
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- Do
- Call Show_status() 'for some debug purposes
- If Playing_status = 0 Then
- Call Autoloader() 'load file 000 - 099
- Call Play_song(filestr)
- Else
- Call Load_data() 'check if decoder want new data
- 'end if we playing
- End If
- Waitms 100 'TO TYLKO BY POKAZAĆ ŻE SPOKOJNIE MAMY 100ms NA INNE ZADANIA
- End