Урок 3. Воспроизводим MP3 : Патчестроение : Форум


 ZEN:
09.08.09, 12:43
 
Код: 
          push {r6,lr}

         LDR     R3, GetSilent
         BLX R3
        CMP R0, 0     ; проверка на "режим без звука"
        ;если включенно то завершаем функу если нет то идём дальше
        BNE exit


        LDR R0, AudioBook
        LDR     R3, FindBook
        BLX R3
         CMP R0, 0     ; проверка на "плейер"
         ;если включенно то завершаем функу если нет то идём дальше
         BNE exit


         LDR     R0, FM_book
         LDR R3, FindBook
         BLX R3
         CMP R0, 0     ; проверка на "радио"
         ;если включенно то завершаем функу если нет то идём дальше
         BNE exit
 

                
 ;здесь мы указываем коталог с файлом
                 ADR     R0, foldeR 
 ;здесь сам фаил
                 ADR     R1, file
 ;и воспроизводим
                 LDR     R6, PlayFile
                 BLX     R6

 
exit:
pop {r6,pc}
 
 align 4
GetSilent DCD 0x454524BC+1  
AudioBook DCD 0x45425E28+1 
FM_book DCD 0x455F46CC+1 
FindBook:  DCD 0x45526684+1
 PlayFile  DCD 0x4514935C+1
 foldeR   du  "/usb/otheR/",0 ,0
                 DCB    0
                 DCB    0
 file          du "1.mp3",0


[ Редактировано ZEN в 9.8.09 12:57 ]

[ Редактировано ZEN в 10.8.09 13:04 ]

 Joker XT:
09.08.09, 12:50
 ZEN, апять ты аргумент потерял, ф-ие PlayFileV идёт 3 аргумента, в R2 ещё должна идти громкость

 den_po:
09.08.09, 13:08
 Joker XT, дык у него ж PlayFile а не PlayFileV

 Joker XT:
09.08.09, 13:22
 den_po, дык он уже исправил =))
там PlayFileV =)

 ZEN:
09.08.09, 13:23
 Joker XT, там и был PlayFile прост написанно PlayFileV было

 IronMaster:
09.08.09, 16:32
 ZEN,
у тебя при наступлении условия при котором пойдет переход на exit код упрется в данные -> ребут
ты сохраняешь lr после того как он переписался 3 раза. При каждом bl/blx значени lr обновляется.
Соответственно чтоб исправить убирай в середине push {lr}, pop {pc}, а в начало добавляй push {r6,lr}, в конец pop {r6,pc}
Не вижу смысла сохранять r4, так как ты его не трогаешь, а вот r6 не помешает сохранить и восстановить.

 Grinvich11:
10.11.09, 15:18
 Как выключить мелодию до окончания воспроизведения?

 KrasH:
10.11.09, 16:22
 Grinvich11, в личку глянь

URL этой темы:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=4211

© 2005-2018 mobilefree.justdanpo.ru