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

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

已經(jīng)盡力了,確實沒轍了,來請教大家了

作者:wh.wb 欄目:ARM技術(shù)
已經(jīng)盡力了,確實沒轍了,來請教大家了
做一個捕獲實驗:
利用P0.22引腳做為捕獲端,在捕獲信號的上下沿分別控制LED4的亮和滅.系統(tǒng)的時鐘節(jié)拍輸出到LED3,作為觀察使用.這里,我設(shè)置了TIMER1作為系統(tǒng)時鐘節(jié)拍,TIMER0用來捕獲中斷.
上電時,如果沒有外部捕獲信號輸入,可以觀察到LED3輸出一方波,說明此時系統(tǒng)工作正常.而當(dāng)外部的捕獲信號輸入時,LED4沒有輸出,并且LED3也無輸出了.
請大家?guī)兔Ψ治鲆幌?是什么原因?

int main (void)
{
    OSInit();

    OSTaskCreate(Adc_Task, (void *)0, &Adc_TaskStk[TASK_STK_SIZE - 1], 12);
    OSStart();
    return 0;
}

void Timer0_Exception(void)
{

    while(T0IR != 0){
        if((T0IR & (1<<4)) != 0){                            // 判斷是否捕獲通道0
            T0IR = (1<<4);                                    // 清除捕獲通道0事件中斷標(biāo)志
            if((IO0PIN & 0x02000000) == 0)
               {  IO0SET = 0x02000000; }
            else
            {  IO0CLR = 0x02000000; }
        }
    }
    VICVectAddr = 0x00;
}

void  Timer0_Init(void)
{  
    PINSEL1 &= ~(1<<12);                                // CAP0.0管腳連接模塊,相應(yīng)的位要變成10
    PINSEL1 |= (1<<13);                                    // CAP0.0管腳連接模塊,相應(yīng)的位要變成10
   
    T0MCR = 0;
    T0IR  |= 0xFF;                                         // 清除匹配、捕獲通道0事件的中斷標(biāo)志
    T0TCR = 0x02;                                       // 復(fù)位T0TC
    T0CCR |= (1<<0);                                    // cap0.0上的上升沿跳變將TC內(nèi)容裝入CR0
       T0CCR |= (1<<1);                                     // cap0.0上的下降沿跳變將TC內(nèi)容裝入CR0
    T0CCR |= (1<<2);                                     // cap0.0上的捕獲裝載產(chǎn)生中斷

    T0TC = 0x00;                                        // 清0計數(shù)器

    VICVectCntl5 = 0x20|4;                              // 定時器0中斷通道分配優(yōu)先級5
    VICVectAddr5 = (uint32)Timer0_Exception;            // 設(shè)置中斷服務(wù)程序地址向量
    VICIntEnable = (1<<4);                                // 使能定時器0中斷
   
    T0TCR = 0x01;                                         // 啟動T0TC
}

void  Adc_Task(void *pdata)
{

    pdata = pdata;                                      // 避免編譯警告

    MCU_Init();
    
    TargetInit();                                               // 目標(biāo)板初始化

    Timer0_Init();

       IO0DIR = 0x03000000;                // 設(shè)置LED3,LED4控制口為輸出


    for (;;)
    {

        
        OSTimeDly(OS_TICKS_PER_SEC / 10);
    }
   
}


        void Timer1_Exception(void)
{定時器1作為系統(tǒng)時鐘節(jié)拍
    T1IR = 0x01;
    VICVectAddr = 0;            // 通知中斷控制器中斷結(jié)束
            if((IO0PIN & 0x01000000) == 0)
               {  IO0SET = 0x01000000; }
            else
            {  IO0CLR = 0x01000000; }
    OSTimeTick();
}




2樓: >>參與討論
local_mach
好像是芯片BUG
 
3樓: >>參與討論
wh.wb
我是在EasyARM2100開發(fā)板上做的實驗
 
4樓: >>參與討論
wh.wb
拜托大家
知道是什么原因的高手請告知,我謝謝您了!
周立功公司的工程師們,有沒有知道的?

5樓: >>參與討論
深思
re
現(xiàn)象只有“LED4沒有輸出,并且LED3也無輸出了”,不好判斷哪里有問題。

在void Timer0_Exception(void)
中設(shè)置斷點來捕捉中斷,然后單不跟,看程序如何走。
如果到不了該斷點就死機(jī),那么問題在此處之前,否則在此處之后。

就這樣一步步找下去。

程序是調(diào)出來的。

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
何謂器件子地址8+X結(jié)構(gòu)
大家?guī)蛡忙,買了個2114半年沒用起來,沒法仿真
關(guān)于移植問題請教:
lpc22xx模塊的問題
稅控機(jī)的市場怎樣發(fā)展?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入


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