音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

求ADS1.2之HANDLER關(guān)鍵字 的用法.

作者:goodguy 欄目:ARM技術(shù)
求ADS1.2之HANDLER關(guān)鍵字 的用法.
謝謝各位路過的大哥大姐,我對handler一詞的理解甚淺,想深入了解一下,求給個
HANDLER關(guān)鍵字 的用法的介紹!

謝謝啦啊!

2樓: >>參與討論
weiganglnu
這個是關(guān)鍵字么?你在哪里看到的,能不舉個例子?
 
3樓: >>參與討論
weiganglnu
你是不是看到這個"Timer0_Handler  HANDLER Timer0"?
你是不是看到這個"Timer0_Handler  HANDLER Timer0"?

往上看是不是有如下內(nèi)容?
    CODE32

    AREA    IRQ,CODE,READONLY

    MACRO
$IRQ_Label HANDLER $IRQ_Exception_Function

        EXPORT  $IRQ_Label                      ; The label for exports 輸出的標(biāo)號
        IMPORT  $IRQ_Exception_Function         ; The imported LABELS 引用的外部標(biāo)號

$IRQ_Label
        SUB     LR, LR, #4                      ; Calculate the returning address 計算返回地址
        STMFD   SP!, {R0-R3, R12, LR}           ; Protects the task environments 保存任務(wù)環(huán)境
        MRS     R3, SPSR                        ; Protects the status variable 保存狀態(tài)
        STMFD   SP, {R3,LR}^                    ; Protects SPSR and SP in user status, Notice: DO NOT write BACK.保存SPSR和用戶狀態(tài)的SP,注意不能回寫
                                                ; If the SP is written BACK, it should be adjusted to its appropriate VALUE later.如果回寫的是用戶的SP,所以后面要調(diào)整SP
        NOP
        SUB     SP, SP, #4*2

        MSR     CPSR_c, #(NoInt | SYS32Mode)    ; SWITCH to the SYSTEM Mode 切換到系統(tǒng)模式
       
        BL      $IRQ_Exception_Function         ; call the C interrupt handler funtion 調(diào)用c語言的中斷處理程序

        MSR     CPSR_c, #(NoInt | IRQ32Mode)    ; SWITCH bak to IRQ mode 切換回irq模式
        LDMFD   SP, {R3,LR}^                    ; Recover SPSR and SP in user status, Notic: DO NOT write BACK. 恢復(fù)SPSR和用戶狀態(tài)的SP,注意不能回寫
                                                ; If the SP is written BACK, it should be adjusted to its appropriate VALUE later.如果回寫的是用戶的SP,所以后面要調(diào)整SP
        MSR     SPSR_cxsf, R3
        ADD     SP, SP, #4*2                    ;

        LDMFD   SP!, {R0-R3, R12, PC}^          ;
    MEND

有的話不就是個宏么?看宏定義就知道了.

4樓: >>參與討論
goodguy
原來handler只是一個宏名!
引用的時候如何使用呢?

IRQ_Handler    HANDLER    IRQ_Exception

上面這句話是引用嗎? 怎么引用起來覺得怪怪的啊!

5樓: >>參與討論
weiganglnu
查關(guān)于宏的使用
查關(guān)于宏的使用.
再看這段代碼.
CODE32

    AREA    IRQ,CODE,READONLY

    MACRO
$IRQ_Label HANDLER $IRQ_Exception_Function

        EXPORT  $IRQ_Label                      ; The label for exports 輸出的標(biāo)號
        IMPORT  $IRQ_Exception_Function         ; The imported LABELS 引用的外部標(biāo)號

$IRQ_Label
        SUB     LR, LR, #4                      ; Calculate the returning address 計算返回地址
        STMFD   SP!, {R0-R3, R12, LR}           ; Protects the task environments 保存任務(wù)環(huán)境
        MRS     R3, SPSR                        ; Protects the status variable 保存狀態(tài)
        STMFD   SP, {R3,LR}^                    ; Protects SPSR and SP in user status, Notice: DO NOT write BACK.保存SPSR和用戶狀態(tài)的SP,注意不能回寫
                                                ; If the SP is written BACK, it should be adjusted to its appropriate VALUE later.如果回寫的是用戶的SP,所以后面要調(diào)整SP
        NOP
        SUB     SP, SP, #4*2

        MSR     CPSR_c, #(NoInt | SYS32Mode)    ; SWITCH to the SYSTEM Mode 切換到系統(tǒng)模式
       
        BL      $IRQ_Exception_Function         ; call the C interrupt handler funtion 調(diào)用c語言的中斷處理程序

        MSR     CPSR_c, #(NoInt | IRQ32Mode)    ; SWITCH bak to IRQ mode 切換回irq模式
        LDMFD   SP, {R3,LR}^                    ; Recover SPSR and SP in user status, Notic: DO NOT write BACK. 恢復(fù)SPSR和用戶狀態(tài)的SP,注意不能回寫
                                                ; If the SP is written BACK, it should be adjusted to its appropriate VALUE later.如果回寫的是用戶的SP,所以后面要調(diào)整SP
        MSR     SPSR_cxsf, R3
        ADD     SP, SP, #4*2                    ;

        LDMFD   SP!, {R0-R3, R12, PC}^          ;
    MEND



6樓: >>參與討論
yyyaling
可以查閱《嵌入式系統(tǒng)開發(fā)與應(yīng)用》一書
P222到P224

7樓: >>參與討論
wurunwei
能貼出來嗎,我也沒看見宏定義
 
8樓: >>參與討論
weiganglnu
宏定義
MACRO
$IRQ_Label HANDLER $IRQ_Exception_Function

        EXPORT  $IRQ_Label                      ; The label for exports 輸出的標(biāo)號
        IMPORT  $IRQ_Exception_Function         ; The imported LABELS 引用的外部標(biāo)號

$IRQ_Label
        SUB     LR, LR, #4                      ; Calculate the returning address 計算返回地址
        STMFD   SP!, {R0-R3, R12, LR}           ; Protects the task environments 保存任務(wù)環(huán)境
        MRS     R3, SPSR                        ; Protects the status variable 保存狀態(tài)
        STMFD   SP, {R3,LR}^                    ; Protects SPSR and SP in user status, Notice: DO NOT write BACK.保存SPSR和用戶狀態(tài)的SP,注意不能回寫
                                                ; If the SP is written BACK, it should be adjusted to its appropriate VALUE later.如果回寫的是用戶的SP,所以后面要調(diào)整SP
        NOP
        SUB     SP, SP, #4*2

        MSR     CPSR_c, #(NoInt | SYS32Mode)    ; SWITCH to the SYSTEM Mode 切換到系統(tǒng)模式
       
        BL      $IRQ_Exception_Function         ; call the C interrupt handler funtion 調(diào)用c語言的中斷處理程序

        MSR     CPSR_c, #(NoInt | IRQ32Mode)    ; SWITCH bak to IRQ mode 切換回irq模式
        LDMFD   SP, {R3,LR}^                    ; Recover SPSR and SP in user status, Notic: DO NOT write BACK. 恢復(fù)SPSR和用戶狀態(tài)的SP,注意不能回寫
                                                ; If the SP is written BACK, it should be adjusted to its appropriate VALUE later.如果回寫的是用戶的SP,所以后面要調(diào)整SP
        MSR     SPSR_cxsf, R3
        ADD     SP, SP, #4*2                    ;

        LDMFD   SP!, {R0-R3, R12, PC}^          ;
    MEND


參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請問:關(guān)于SmartARM開發(fā)板的實驗
請教ISP1160上面的NDS9425A是哪家的產(chǎn)品?
已經(jīng)盡力了,確實沒轍了,來請教大家了
何謂器件子地址8+X結(jié)構(gòu)
大家?guī)蛡忙,買了個2114半年沒用起來,沒法仿真
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號