VS1001 Pause

Gast #911650
Lesenswert?

Hallo!

Seit neuestens habe ich einen selfmade-mp3-player mit einem vs1001k

bis jetzt habe ich es nicht geschafft eine Pause-Funktion zu schreiben.

Ich möchte gerne wenn ich auf den Play-Button drücke dass der vs1001 in 
einen Pause modus gelangt, und wenn man ein zweites mal drückt wieder an 
der pausierten stelle anfängt.

hat jemand eine ahnung wie mann das realisieren kann?

vielen dank,
mr-unbekannt
#911727
Lesenswert?

Hallo,

ich habe zwar den VS101 noch nie benutzt, denke aber es wird ähnlich 
sein:
mit der Pausentaste ein Flag in Deinem Programm setzen/löschen und in 
der Routine, die die Daten zum VS1001 (vermutlich SPI-IRQ?) das Flag 
abfragen und wenn Pause ist, eben keine Daten zum VS1001 schicken.

Gruß aus Berlin
Michael
#911843
Lesenswert?

Hallo,

kommt darauf an, wie Du den Kram organisiert hast. Bei mir hat damals 
die Hauptschleife den Buffer im AVR von der HD nachgefüllt, wenn eine 
Hälfte leer war. Dieses Flag hat die IRQ-Riutine vom Decoder (MAS3507 
damals) gesetzt, wenn beim nachfüllen seines internen Buffers die 
Buffermitte überschritten wurde oder vom Ende zum Anfang gewechselt 
wurde.

Bei Pause wurde der Decoder nicht bedient, damit wurde eben nichs 
verändert, bis weiter gespielt wurde oder eine Funktion aufgerufen 
wurde, die hat sowieso jeweils das Abspielen beendet.

Ich weiß jetzt nicht, wie groß der interne Buffer des VS1001 ist, beim 
MAS3507 war das sowieso nicht allzuviel, der hörte sehr recht auf mit 
spielen.

Gruß aus Berlin
Michael
Gast #911932
Lesenswert?

so, habs endlich geschafft...

wems interessiert:
1
if (bPause==true) break;
2
        if(!fplay_sector(&fp))
3
        { fclose(&fp);
4
          ps.state = PLAYING_MMC_INIT;
5
          PLAY_LED_OFF;
6
        }

einfach ein break vor die Funktion fplay_sector...

danke!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren