📄 waveplayer.txt
字号:
|L4.268|
00010c e79a B |L4.68|
|L4.270|
;;;228 }
;;;229
;;;230 /* If "SEL" pushbutton is pressed */
;;;231 if(MyKey == SEL)
00010e 2c01 CMP r4,#1
000110 d11e BNE |L4.336|
;;;232 {
;;;233 /* Mask All Interrupts */
;;;234 NVIC_SETPRIMASK();
000112 f7fff7ff BL NVIC_SETPRIMASK
;;;235
;;;236 /* Update the display information */
;;;237 LCD_Update(STOP);
000116 0720 LSLS r0,r4,#28
000118 f7fff7ff BL LCD_Update
;;;238
;;;239 /* Command the Stop of the current audio stream */
;;;240 SetVar_AudioPlayStatus(AudioPlayStatus_STOPPED);
00011c 2000 MOVS r0,#0
00011e f7fff7ff BL SetVar_AudioPlayStatus
;;;241
;;;242 /* Disable mask of all interrupts */
;;;243 NVIC_RESETPRIMASK();
000122 f7fff7ff BL NVIC_RESETPRIMASK
;;;244
;;;245 I2S_CODEC_Stop();
000126 f7fff7ff BL I2S_CODEC_Stop
;;;246 SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_TXE, DISABLE);
00012a 2200 MOVS r2,#0
00012c 2171 MOVS r1,#0x71
00012e 4821 LDR r0,|L4.436|
000130 f7fff7ff BL SPI_I2S_ITConfig
;;;247
;;;248 /* Enable the FSMC that share a pin w/ I2C1 (LBAR) */
;;;249 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
000134 2101 MOVS r1,#1
000136 4648 MOV r0,r9
000138 f7fff7ff BL RCC_AHBPeriphClockCmd
;;;250
;;;251 /* Clear the LCD */
;;;252 LCD_Clear(White);
00013c 4630 MOV r0,r6
00013e f7fff7ff BL LCD_Clear
;;;253
;;;254 /* Display the previous menu */
;;;255 DisplayMenu();
000142 f7fff7ff BL DisplayMenu
|L4.326|
;;;256 /* Enable the JoyStick interrupts */
;;;257 IntExtOnOffConfig(ENABLE);
;;;258 return;
;;;259 }
;;;260 /* If "KEY" pushbutton is pressed */
;;;261 if(MyKey == KEY)
;;;262 {
;;;263 /* Mask All Interrupts */
;;;264 NVIC_SETPRIMASK();
;;;265
;;;266 /* If the Codec is Playing => PAUSE */
;;;267 if (GetVar_AudioPlayStatus() == AudioPlayStatus_PLAYING)
;;;268 {
;;;269 /* Update the display information */
;;;270 LCD_Update(PAUSE);
;;;271
;;;272 /* Command the Pause of the current stream */
;;;273 SetVar_AudioPlayStatus(AudioPlayStatus_PAUSED);
;;;274 }
;;;275
;;;276 /* If the Codec is PAUSED => Resume PLAYING */
;;;277 else if (GetVar_AudioPlayStatus() == AudioPlayStatus_PAUSED)
;;;278 {
;;;279 /* Update the LCD display */
;;;280 LCD_Update(PLAY);
;;;281
;;;282 /* Start playing from the last saved position */
;;;283 I2S_CODEC_Play(GetVar_AudioDataIndex());
;;;284 }
;;;285 /* If the Codec is STOPPED => PLAY from the file start address */
;;;286 else if (GetVar_AudioPlayStatus() == AudioPlayStatus_STOPPED)
;;;287 {
;;;288 /* Update the display information */
;;;289 LCD_Update(PLAY);
;;;290
;;;291 /* Initialize all devices w/choosen parameters */
;;;292 err = I2S_CODEC_Init(GetVar_CurrentOutputDevice(), AUDIO_FILE_ADDRESS);
;;;293
;;;294 /* Error message display if failure */
;;;295 if (err != 0)
;;;296 {
;;;297 LCD_DisplayError(err);
;;;298
;;;299 /* Enable the FSMC that share a pin w/ I2C1 (LBAR) */
;;;300 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
;;;301
;;;302 /* Clear the LCD */
;;;303 LCD_Clear(White);
;;;304
;;;305 /* Display the previous menu */
;;;306 DisplayMenu();
;;;307
;;;308 /* Disable mask of all interrupts */
;;;309 NVIC_RESETPRIMASK();
;;;310
;;;311 /* Enable the JoyStick interrupts */
;;;312 IntExtOnOffConfig(ENABLE);
000146 e8bde8bd POP {r4-r10,lr}
00014a 2001 MOVS r0,#1
00014c f7fff7ff B.W IntExtOnOffConfig
|L4.336|
000150 2c06 CMP r4,#6 ;261
000152 d1db BNE |L4.268|
000154 f7fff7ff BL NVIC_SETPRIMASK
000158 f7fff7ff BL GetVar_AudioPlayStatus
00015c 2801 CMP r0,#1 ;267
00015e d106 BNE |L4.366|
000160 0500 LSLS r0,r0,#20 ;270
000162 f7fff7ff BL LCD_Update
000166 2002 MOVS r0,#2 ;273
000168 f7fff7ff BL SetVar_AudioPlayStatus
00016c e7cc B |L4.264|
|L4.366|
00016e f7fff7ff BL GetVar_AudioPlayStatus
000172 2802 CMP r0,#2 ;277
000174 d105 BNE |L4.386|
000176 4650 MOV r0,r10 ;280
000178 f7fff7ff BL LCD_Update
00017c f7fff7ff BL GetVar_AudioDataIndex
000180 e00f B |L4.418|
|L4.386|
000182 f7fff7ff BL GetVar_AudioPlayStatus
000186 2800 CMP r0,#0 ;286
000188 d1be BNE |L4.264|
00018a 4650 MOV r0,r10 ;289
00018c f7fff7ff BL LCD_Update
000190 f7fff7ff BL GetVar_CurrentOutputDevice
000194 4639 MOV r1,r7 ;292
000196 f7fff7ff BL I2S_CODEC_Init
00019a 2800 CMP r0,#0 ;295
00019c d196 BNE |L4.204|
;;;313 return;
;;;314 }
;;;315
;;;316 /* Enable Playing the audio file */
;;;317 I2S_CODEC_Play(GetVar_DataStartAddr());
00019e f7fff7ff BL GetVar_DataStartAddr
|L4.418|
0001a2 f7fff7ff BL I2S_CODEC_Play
0001a6 e7af B |L4.264|
;;;318 }
;;;319 /* Disable mask of all interrupts */
;;;320 NVIC_RESETPRIMASK();
;;;321 }
;;;322 }
;;;323 }
;;;324
ENDP
|L4.424|
0001a8 11110100 DCD 0x11110100
|L4.428|
0001ac 64060000 DCD 0x64060000
|L4.432|
0001b0 0005ffff DCD 0x0005ffff
|L4.436|
0001b4 40003800 DCD 0x40003800
AREA ||.data||, DATA, ALIGN=0
previoustmp
000000 32 DCB 0x32
DemoTitle
000001 53544d33 DCB 0x53,0x54,0x4d,0x33
000005 32204932 DCB 0x32,0x20,0x49,0x32
000009 5320436f DCB 0x53,0x20,0x43,0x6f
00000d 64656320 DCB 0x64,0x65,0x63,0x20
000011 44656d6f DCB 0x44,0x65,0x6d,0x6f
CmdTitle0
000015 2020436f DCB 0x20,0x20,0x43,0x6f
000019 6e74726f DCB 0x6e,0x74,0x72,0x6f
00001d 6c204275 DCB 0x6c,0x20,0x42,0x75
000021 74746f6e DCB 0x74,0x74,0x6f,0x6e
000025 733a2020 DCB 0x73,0x3a,0x20,0x20
CmdTitle1Playing
000029 4b45593e DCB 0x4b,0x45,0x59,0x3e
00002d 50617573 DCB 0x50,0x61,0x75,0x73
000031 65202055 DCB 0x65,0x20,0x20,0x55
000035 5020203e DCB 0x50,0x20,0x20,0x3e
000039 566f6c2b DCB 0x56,0x6f,0x6c,0x2b
CmdTitle2Playing
00003d 53454c3e DCB 0x53,0x45,0x4c,0x3e
000041 53746f70 DCB 0x53,0x74,0x6f,0x70
000045 20202044 DCB 0x20,0x20,0x20,0x44
000049 4f574e3e DCB 0x4f,0x57,0x4e,0x3e
00004d 566f6c2d DCB 0x56,0x6f,0x6c,0x2d
CmdTitle1Paused
000051 4b45593e DCB 0x4b,0x45,0x59,0x3e
000055 506c6179 DCB 0x50,0x6c,0x61,0x79
000059 20202055 DCB 0x20,0x20,0x20,0x55
00005d 5020203e DCB 0x50,0x20,0x20,0x3e
000061 53706b72 DCB 0x53,0x70,0x6b,0x72
CmdTitle2Paused
000065 53454c3e DCB 0x53,0x45,0x4c,0x3e
000069 53746f70 DCB 0x53,0x74,0x6f,0x70
00006d 20202044 DCB 0x20,0x20,0x20,0x44
000071 4f574e3e DCB 0x4f,0x57,0x4e,0x3e
000075 48656164 DCB 0x48,0x65,0x61,0x64
CmdTitle1Stopped
000079 20202020 DCB 0x20,0x20,0x20,0x20
00007d 5550203e DCB 0x55,0x50,0x20,0x3e
000081 20537065 DCB 0x20,0x53,0x70,0x65
000085 616b6572 DCB 0x61,0x6b,0x65,0x72
000089 20202020 DCB 0x20,0x20,0x20,0x20
CmdTitle2Stopped
00008d 2020444f DCB 0x20,0x20,0x44,0x4f
000091 574e203e DCB 0x57,0x4e,0x20,0x3e
000095 20486561 DCB 0x20,0x48,0x65,0x61
000099 6470686f DCB 0x64,0x70,0x68,0x6f
00009d 6e652020 DCB 0x6e,0x65,0x20,0x20
StatusTitleStopped
0000a1 20202020 DCB 0x20,0x20,0x20,0x20
0000a5 20205374 DCB 0x20,0x20,0x53,0x74
0000a9 6f707065 DCB 0x6f,0x70,0x70,0x65
0000ad 64202020 DCB 0x64,0x20,0x20,0x20
0000b1 20202020 DCB 0x20,0x20,0x20,0x20
StatusTitlePlaying
0000b5 20202020 DCB 0x20,0x20,0x20,0x20
0000b9 2020506c DCB 0x20,0x20,0x50,0x6c
0000bd 6179696e DCB 0x61,0x79,0x69,0x6e
0000c1 67202020 DCB 0x67,0x20,0x20,0x20
0000c5 20202020 DCB 0x20,0x20,0x20,0x20
StatusTitlePaused
0000c9 20202020 DCB 0x20,0x20,0x20,0x20
0000cd 20202050 DCB 0x20,0x20,0x20,0x50
0000d1 61757365 DCB 0x61,0x75,0x73,0x65
0000d5 64202020 DCB 0x64,0x20,0x20,0x20
0000d9 20202020 DCB 0x20,0x20,0x20,0x20
i2cerr
0000dd 4552524f DCB 0x45,0x52,0x52,0x4f
0000e1 523a4932 DCB 0x52,0x3a,0x49,0x32
0000e5 4320636f DCB 0x43,0x20,0x63,0x6f
0000e9 6d2e202d DCB 0x6d,0x2e,0x20,0x2d
0000ed 3e525354 DCB 0x3e,0x52,0x53,0x54
memerr
0000f1 4552524f DCB 0x45,0x52,0x52,0x4f
0000f5 523a204d DCB 0x52,0x3a,0x20,0x4d
0000f9 656d6f72 DCB 0x65,0x6d,0x6f,0x72
0000fd 7920202d DCB 0x79,0x20,0x20,0x2d
000101 3e525354 DCB 0x3e,0x52,0x53,0x54
fileerr
000105 4552524f DCB 0x45,0x52,0x52,0x4f
000109 523a204e DCB 0x52,0x3a,0x20,0x4e
00010d 6f205761 DCB 0x6f,0x20,0x57,0x61
000111 76652046 DCB 0x76,0x65,0x20,0x46
000115 696c6520 DCB 0x69,0x6c,0x65,0x20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -