IDv3 Tag auslesen Stm32f4

Gast #3561272
Lesenswert?
• ▲
▼
Hallo leute,

Ich stehe vor einem Problem. Ich möchte mit meinem STM32f4 Board den 
IDv3 Tag einer MP3 Auslesen. Erst mal nur den Titel. Ich habe dazu schon 
folgenden Code entworfen
1
 UB_Fatfs_ReadBlock(&myFile, buff1 , 10 , j);
2

3
        for (i = 0 ; i < 10; i++)
4
        {
5

6
           if (buff1[i] == 0x49 && buff1[i+1] == 0x44)//Nach idv3 tag suchen
7
           {
8
             GUI_Text(0,0,"Gefunden",Blue, Black);
9

10
               UB_Fatfs_ReadBlock(&myFile, buff1 , 150 , j);
11

12
               for (q = 0 ; q < 150 ; q++)///
13
               {
14
                 if (buff1[q] == 84 && buff1[q+1]== 73 && buff1[q+2]== 84 && buff1[q+3] == 50)//nach der abkürzung für Titel suchen
15
                     {
16

17

18
                   GUI_Text(0,100,"Gefunden",Blue, Black);
19

20
                   q = q +4 ;
21

22
                      //while(buff1[q] != 0x54 && buff1[q+1] != 0x41 && buff1[q+2] != 0x4c && buff1[q+3] != 0x42)
23
                      for ( q = q ; q < 150 ; q ++)
24

25
                   {          if (buff1[q] != 0x00)
26
                        if (buff1[q] == 0x54 && buff1[q+1] == 0x41 &&  buff1[q+2] == 0x4C && buff1[q+3] == 0x42 )// Titel auslesen Bis zur Nächsten abkürzung
27
                        {
28
                        goto fertig;
29
                        }else
30

31
                        {
32
                        Name[nam]= buff1[q];
33

34
                        nam++;
35
                        }
36
                        //q++;
37
                      }
38

39

40

41

42

43
                     }
44

45
                     }//
46

47

48
               }
49

50

51
           }
52

53
fertig:
54
        GUI_Text(0,132,Name,Black,Blue);


Das Programm findet immer den Tag und auch die Titel Position. 
Allerdings habe ich bei jedem Mal einschalten eine andere Ausgabe Des 
Strings Name. Mit vielen verrückten Sonderzeichen. Eigentlich soll das 
Programm nur die Abkürzung TIT2 suchen und dann alle Zeichen bis auf 
nullen auf dem LCD ausgeben bis es zu TALB gekommen ist und dann das 
Programm beenden. Wie gesagt der Titel steht auch auf dem LCD nur 
dahinter kommen noch 2 Zeilen quatsch. Ich wäre euch über jede Hilfe 
dankbar!

MfG Klaus
Gast #3561293
Lesenswert?
• ▲
▼
Danke! Für die schnelle antwort! Hat super funktioniert.
Hat einer vielleicht noch einen Tipp wie man den Tag leichter oder 
besser gesagt mit weniger Code auslesen kann? Denn meine Ganzen 
for-schleifen und If bedingen sind schon bisschen viel.

Mfg
Klaus

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.