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

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