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

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

[求助]看看我的程序怎么外部中斷實(shí)現(xiàn)不了?

作者:holycore 欄目:ARM技術(shù)
[求助]看看我的程序怎么外部中斷實(shí)現(xiàn)不了?
初始化程序用的44binit.s 44b.h沒有改,現(xiàn)在我想要實(shí)現(xiàn)外部中斷4567來(lái)進(jìn)入流水燈程序?墒窃趺匆矊(shí)現(xiàn)不了!各位幫忙看看哪里寫的不對(duì),感謝!
#include <string.h>
#include "..\inc\def.h"
#include "..\inc\44b.h"
#include "..\inc\44blib.h"


void Beep(int BeepStatus) //小喇叭響
{
    //PC1,PC2,PC3 High available
    rPDATE=(rPDATE & 0xDF) | (BeepStatus<<5);
}


void Eint4567Isr(void);  


int Main(void)  
{

    rSYSCFG=SYSCFG_8KB;
    
    
#if (PLLON==1)
    ChangePllValue(PLL_M,PLL_P,PLL_S);
#endif

rINTMOD=0x0;
rINTCON=0x1;
rINTMSK=~(BIT_GLOBAL|BIT_EINT4567);
pISR_EINT4567=(int)Eint4567Isr;    //中斷函數(shù)入口
rPCONG=0xffff;
rPUPG=0x0;
rEXTINT=rEXTINT|0x22220000;
rI_ISPC=BIT_EINT4567;
rEXTINPND=0xF;
    return(0);
}


_irq void Eint4567Isr(void)
{
    Delay(0);  //calibrate Delay()
    Led_Display(7);
    Delay(1000);  //calibrate Delay()
    Led_Display(0);
    Delay(5000);  //calibrate Delay()
    Led_Display(7);
     while(!Uart_GetKey())
    {
        Delay(5000);  //calibrate Delay()
        Led_Display(1);
        Beep(1);
        Delay(5000);  //calibrate Delay()
        Led_Display(2);
        Beep(0);
        Delay(5000);  //calibrate Delay()
        Led_Display(4);
        Beep(0);
    }

}

2樓: >>參與討論
icyacht
好像是...
不知道你用的哪種芯片,我只用過(guò)LPC2210 ,不過(guò)...主程序怎么直接返回了?
因該進(jìn)入子循環(huán)阿...????

3樓: >>參與討論
icyacht
更正
上面意思是主程序不能返回,應(yīng)該進(jìn)入死循環(huán)

4樓: >>參與討論
holycore
繼續(xù)頭痛中...
程序照著icyacht兄的建議改了一下,還是不行,觸發(fā)EINT4、5、6、7后根本沒有跳回B HandlerIRQ,有沒有人幫忙解惑一下?
#include <string.h>
#include "..\inc\def.h"
#include "..\inc\44b.h"
#include "..\inc\44blib.h"


void Beep(int BeepStatus)
{
    //PC1,PC2,PC3 High available
    rPDATE=(rPDATE & 0xDF) | (BeepStatus<<5);
}


__irq void Eint4567Isr(void)

{
    rI_ISPC=BIT_EINT4567;
    Delay(0);  //calibrate Delay()
    Led_Display(7);
    Delay(1000);  //calibrate Delay()
    Led_Display(0);
    Delay(5000);  //calibrate Delay()
    Led_Display(7);
     while(!Uart_GetKey())
    {
        Delay(5000);  //calibrate Delay()
        Led_Display(1);
        Beep(1);
        Delay(5000);  //calibrate Delay()
        Led_Display(2);
        Beep(0);
        Delay(5000);  //calibrate Delay()
        Led_Display(4);
        Beep(0);
    }

}


int Main(void)
{
    rSYSCFG=SYSCFG_8KB;
    
    
#if (PLLON==1)
    ChangePllValue(PLL_M,PLL_P,PLL_S);
#endif

rINTMOD=0x0;
rINTCON=0x1;
rINTMSK=~(BIT_GLOBAL|BIT_EINT4567);
pISR_EINT4567=(int)Eint4567Isr;
rPCONG=0xffff;
rPUPG=0x0;
rEXTINT=rEXTINT|0x22220000;
rI_ISPC=BIT_EINT4567;
rEXTINPND=0xF;
    while(1);
    return(0);
}

另外我在用超級(jí)終端調(diào)試的時(shí)候,發(fā)生
## Starting application at 0x0C008000 ...
## Application terminated, rc = 0x0
有誰(shuí)知道這是怎么原因造成的嗎?rc是什么東西啊?看了U-boot的使用說(shuō)明,上面也沒有具體的解釋啊。  

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請(qǐng)教幾個(gè)2410引導(dǎo)程序里面的 匯編語(yǔ)法問(wèn)題
C語(yǔ)言在ADS1.2中結(jié)構(gòu)、聯(lián)合定義出錯(cuò)問(wèn)題
44B0X的問(wèn)題,關(guān)于向flash里寫操作系統(tǒng)文件的
我的cpu是3.3v 外圍器件是2.8v,該如何進(jìn)行電平匹配?
440bx雙層版,能行嗎
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)