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