Hiho, Dieses mal habe ich eine Frage bezüglich der Interrupts beim Atmega. Das Hauptprogramm soll von der SD-Karte Daten empfangen und sie an den MP3-Decoder weitergeben zwecks wiedergabe (Modell noch nicht spezifiziert) Jedoch will ich per ext. Interrupt noch Werte in den RAM einlesen, am 4x7Seg-Display ausgeben und diese werte durch Timerinterrupt herunterzählen (und die Anzeige aktualiseren) Hätte das einen bemerkbaren Einfluss auf die Wiedergabe? LG
:
Bearbeitet durch User
Ja Nein Vielleicht Auch Oder Nicht Oder so... Oliver
Christian H. schrieb: > Hätte das einen bemerkbaren Einfluss auf die Wiedergabe? Hängt davon ab, was du alles in der ISR machen willst, wie lange sie dauert. Du könntest dir überlegen, in einem Timer Interrupt die Daten in den MP3-Decoder zu schaufeln und in Hauptprogramm zwischendurch wenn Zeit ist das Display anzusteuern.
:
Bearbeitet durch User
>Du könntest dir überlegen, in einem Timer Interrupt die Daten in den >MP3-Decoder zu schaufeln und in Hauptprogramm zwischendurch wenn Zeit >ist das Display anzusteuern. Ich würde das genau umgekehrt machen. Die meisten MP3 Decoder haben sowieso einen Playbuffer. Da hat man dann mehr als genug Zeit mal ein Display im Interrupt zu refreshen.
Aus vielerlei Gründen sollte ein MP3-Player einen mehr oder weniger großen Puffer haben. Der Witz in dieser Konfiguration ist der, dass immer genügend Ressourcen zur Verfügung stehen (müssen), damit dieser nicht leer läuft. Vertrödelst Du also zu viel Zeit in irgendwelchen Unterbrechungen, so gibt’s Unterbrechungen im Sound. Dieses Prinzip wird an vielen Stellen, normale Soundkarte, CD/DVD-Brenner usw., genutzt.
Vielleicht kann ich das mit einem VS1000-Modul (http://www.egnite.de/egnite-shop/vs1000-audio-module/vs1000-audio-module.html) eleganter lösen :D Audiodateiformate sind für mich egal.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.