⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.txt

📁 MP3_PLAYER.rar
💻 TXT
📖 第 1 页 / 共 3 页
字号:
0001d8  f7fffffe          BL       USB_Interrupts_Config
;;;248    			Led_Config();
0001dc  f7fffffe          BL       Led_Config
;;;249    			Get_Medium_Characteristics();
0001e0  f7fffffe          BL       Get_Medium_Characteristics
;;;250    			USB_Init();
0001e4  f7fffffe          BL       USB_Init
                  |L6.488|
;;;251    			while(1);
0001e8  e7fe              B        |L6.488|
                  |L6.490|
;;;252    	   }
;;;253    	   else if(Equal(command, "vstest",len1,6))					// 测试VS1003	
0001ea  2306              MOVS     r3,#6
0001ec  462a              MOV      r2,r5
0001ee  a168              ADR      r1,|L6.912|
0001f0  a801              ADD      r0,sp,#4
0001f2  f7fffffe          BL       Equal
0001f6  b130              CBZ      r0,|L6.518|
;;;254    	   {
;;;255    	   		VS1003_Config();
0001f8  f7fffffe          BL       VS1003_Config
;;;256    			Mp3SoftReset();
0001fc  f7fffffe          BL       Mp3SoftReset
;;;257    			VsSineTest();
000200  f7fffffe          BL       VsSineTest
000204  e733              B        |L6.110|
                  |L6.518|
;;;258    	   }
;;;259    	   else if(Equal(command, "play",len1,4))					// 播放MP3文件	
000206  2304              MOVS     r3,#4
000208  462a              MOV      r2,r5
00020a  a163              ADR      r1,|L6.920|
00020c  a801              ADD      r0,sp,#4
00020e  f7fffffe          BL       Equal
000212  2800              CMP      r0,#0
000214  d087              BEQ      |L6.294|
;;;260    	   {
;;;261    			SPI_Config(SPI_BaudRatePrescaler_2);
000216  2000              MOVS     r0,#0
000218  f7fffffe          BL       SPI_Config
;;;262    			Mp3Reset();
00021c  f7fffffe          BL       Mp3Reset
;;;263    			len2 = USART_Scanf_Name(foldername);
000220  a803              ADD      r0,sp,#0xc
000222  f7fffffe          BL       USART_Scanf_Name
;;;264    			temp = SearchFoler(currSec, foldername, len2, 0); 	// 查找文件,并返回长度
000226  4602              MOV      r2,r0
000228  2300              MOVS     r3,#0
00022a  a903              ADD      r1,sp,#0xc
00022c  f8d80004          LDR      r0,[r8,#4]  ; currSec@main_0
000230  f7fffffe          BL       SearchFoler
000234  0007              MOVS     r7,r0
;;;265    			if(temp)											// 找到文件
000236  d0b3              BEQ      |L6.416|
;;;266    			{
;;;267    				mp3data_pointer = 0;
000238  2000              MOVS     r0,#0
;;;268    				readNextBytes = 0;
00023a  f8c80008          STR      r0,[r8,#8]  ; mp3data_pointer
00023e  f8880000          STRB     r0,[r8,#0]  ; readNextBytes
;;;269    				FAT_FileRead(0, buffsize, Stream_Buff); 		// 读取头一个文件流
000242  4a3e              LDR      r2,|L6.828|
000244  4659              MOV      r1,r11
000246  f7fffffe          BL       FAT_FileRead
;;;270    				fileoffset = 1;
00024a  2501              MOVS     r5,#1
;;;271    				printf("\r\nplaying...");
00024c  a054              ADR      r0,|L6.928|
00024e  f7fffffe          BL       __1printf
;;;272    				VS1003_Config();	 		      			   
000252  f7fffffe          BL       VS1003_Config
;;;273    				while(1)
;;;274    				{
;;;275    					Mp3DeselectControl();
000256  bf00              NOP      
                  |L6.600|
000258  f8d9080c          LDR      r0,[r9,#0x80c]
00025c  f0400002          ORR      r0,r0,#2
000260  f8c9080c          STR      r0,[r9,#0x80c]
;;;276    			   		Mp3SelectData();       						// xDCS = 0,选择vs1003的数据接口
000264  f8d9080c          LDR      r0,[r9,#0x80c]
;;;277    
;;;278    			    	for(i=0;i<buffsize;i++)
000268  2600              MOVS     r6,#0
00026a  f0200004          BIC      r0,r0,#4              ;276
00026e  f8c9080c          STR      r0,[r9,#0x80c]        ;276
                  |L6.626|
;;;279    					{
;;;280    						// 等待DREQ为高
;;;281    					    while((GPIO_ReadInputData(GPIOA) & MP3_DREQ) == 0);    
000272  484f              LDR      r0,|L6.944|
000274  f7fffffe          BL       GPIO_ReadInputData
000278  0700              LSLS     r0,r0,#28
00027a  d5fa              BPL      |L6.626|
;;;282    						SPIPutChar(Stream_Buff[mp3data_pointer++]);
00027c  f8d80008          LDR      r0,[r8,#8]  ; mp3data_pointer
000280  f81a1000          LDRB     r1,[r10,r0]
000284  1c40              ADDS     r0,r0,#1
000286  f8c80008          STR      r0,[r8,#8]  ; mp3data_pointer
00028a  4608              MOV      r0,r1
00028c  f7fffffe          BL       SPIPutChar
000290  1c76              ADDS     r6,r6,#1              ;278
000292  455e              CMP      r6,r11                ;278
000294  d3ed              BCC      |L6.626|
;;;283    					}
;;;284    				 	Mp3DeselectData();	
000296  f8d9080c          LDR      r0,[r9,#0x80c]
;;;285    					mp3data_pointer = 0;
00029a  2100              MOVS     r1,#0
00029c  f0400004          ORR      r0,r0,#4              ;284
0002a0  f8c9080c          STR      r0,[r9,#0x80c]        ;284
;;;286    
;;;287    					// 读取一个缓冲
;;;288        				if(fileoffset < temp / buffsize)
0002a4  f8c81008          STR      r1,[r8,#8]  ; mp3data_pointer
0002a8  ebb52f97          CMP      r5,r7,LSR #10
;;;289                		   	 FAT_FileRead(fileoffset++ * buffsize, buffsize, Stream_Buff);
0002ac  ea4f2085          LSL      r0,r5,#10
0002b0  d205              BCS      |L6.702|
0002b2  1c6d              ADDS     r5,r5,#1
0002b4  4a21              LDR      r2,|L6.828|
0002b6  4659              MOV      r1,r11
0002b8  f7fffffe          BL       FAT_FileRead
0002bc  e7cc              B        |L6.600|
                  |L6.702|
;;;290        				else
;;;291    					{
;;;292    			    		 FAT_FileRead(fileoffset++ * buffsize, temp % buffsize, Stream_Buff);					 
0002be  f3c70109          UBFX     r1,r7,#0,#10
0002c2  4a1e              LDR      r2,|L6.828|
0002c4  f7fffffe          BL       FAT_FileRead
;;;293                             break; 								// 返回
0002c8  e6d1              B        |L6.110|
;;;294    				    }
;;;295    			   }
;;;296    			   
;;;297               }		
;;;298    		}	   
;;;299    	}
;;;300    }
;;;301    
                          ENDP

0002ca  0000              DCW      0x0000
                  |L6.716|
0002cc  0d0a4d53          DCB      "\r\n\115\123"
0002d0  445f496e          DCB      "D_In"
0002d4  69742072          DCB      "it r"
0002d8  6573756c          DCB      "esul"
0002dc  743a2025          DCB      "t: %"
0002e0  64000000          DCB      "d\0\0\0"
                  |L6.740|
0002e4  00000000          DCD      Mass_Block_Count
                  |L6.744|
0002e8  0d0a4d73          DCB      "\r\n\115\163"
0002ec  64426c6f          DCB      "dBlo"
0002f0  636b436f          DCB      "ckCo"
0002f4  756e743a          DCB      "unt:"
0002f8  20256400          DCB      " %d\0"
                  |L6.764|
0002fc  00000000          DCD      Mass_Block_Size
                  |L6.768|
000300  0d0a4d73          DCB      "\r\n\115\163"
000304  64426c6f          DCB      "dBlo"
000308  636b5369          DCB      "ckSi"
00030c  7a653a20          DCB      "ze: "
000310  25642042          DCB      "%d B"
000314  79746500          DCB      "yte\0"
                  |L6.792|
000318  00000000          DCD      Mass_Memory_Size
                  |L6.796|
00031c  0d0a4d73          DCB      "\r\n\115\163"
000320  644d656d          DCB      "dMem"
000324  6f727953          DCB      "oryS"
000328  697a653a          DCB      "ize:"
00032c  20256420          DCB      " %d "
000330  4d420d0a          DCB      "MB\r\n"
000334  00000000          DCB      "\0\0\0\0"
                  |L6.824|
000338  00000000          DCD      ||.data||
                  |L6.828|
00033c  00000000          DCD      ||.bss||
                  |L6.832|
000340  40010000          DCD      0x40010000
                  |L6.836|
000344  64697200          DCB      "dir\0"
                  |L6.840|
000348  0d0a0d0a          DCB      "\r\n\r\n"
00034c  00000000          DCB      "\0\0\0\0"
                  |L6.848|
000350  63640000          DCB      "cd\0\0"
                  |L6.852|
000354  2e2e0000          DCB      "..\0\0"
                  |L6.856|
000358  2e000000          DCB      ".\0\0\0"
                  |L6.860|
00035c  72656164          DCB      "read"
000360  00000000          DCB      "\0\0\0\0"
                  |L6.868|
000364  0d0a0000          DCB      "\r\n\0\0"
                  |L6.872|
000368  25630000          DCB      "%c\0\0"
                  |L6.876|
00036c  66726565          DCB      "free"
000370  00000000          DCB      "\0\0\0\0"
                  |L6.884|
000374  0d0a0d0a          DCB      "\r\n\r\n"
000378  66726565          DCB      "free"
00037c  20737061          DCB      " spa"
000380  63653a20          DCB      "ce: "
000384  25644d42          DCB      "%dMB"
000388  0d0a0000          DCB      "\r\n\0\0"
                  |L6.908|
00038c  75736200          DCB      "usb\0"
                  |L6.912|
000390  76737465          DCB      "vste"
000394  73740000          DCB      "st\0\0"
                  |L6.920|
000398  706c6179          DCB      "play"
00039c  00000000          DCB      "\0\0\0\0"
                  |L6.928|
0003a0  0d0a706c          DCB      "\r\n\160\154"
0003a4  6179696e          DCB      "ayin"
0003a8  672e2e2e          DCB      "g..."
0003ac  00000000          DCB      "\0\0\0\0"
                  |L6.944|
0003b0  40010800          DCD      0x40010800

                          AREA ||.data||, DATA, ALIGN=2

                  readNextBytes
000000  00000000          DCB      0x00,0x00,0x00,0x00
                  ||currSec@main_0||
000004  00000000          DCD      0x00000000
                  mp3data_pointer
000008  00000000          DCD      0x00000000

                          AREA ||.bss||, DATA, NOINIT, ALIGN=0

                  Stream_Buff
                          %        1024

                  __ARM_use_no_argv EQU 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -