新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > JTAGICE mkII 或是 AVR單片機(jī) 的問題

        JTAGICE mkII 或是 AVR單片機(jī) 的問題

        作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
        這兩天 用 JTAGICE mkII 的 JTAG功能 仿真 一個程序,發(fā)現(xiàn) 一個問題,不知 是芯片問題,還是 仿真器的問題。我 是用AVRSTDIO4的GCC 寫的 程序,用 JTAGICE mkII 來 仿真,芯片 是 ATmega32。
        程序 見 附錄,出現(xiàn)的問題是:當(dāng) 代碼 如附錄所寫 時,程序 運(yùn)行正常,當(dāng) 把 函數(shù)func()中的代碼 直接放到while(1)中,即如下:(原程序 是 用 func() 代替了 幾行代碼)
        while(1)
        {
        atimer = 0; //清1ms定時標(biāo)志
        atmp = (aclock)/2;
        if (anum!=atmp )
        {
        anum = atmp;
        atimer = 1; //置1ms定時標(biāo)志
        }
        if(atimer == 1)
        {
        PORTA=~PORTA;
        }
        }
        此時,程序 不正常。單步調(diào)試 時,程序指針 不會 指向 atimer=0、atmp 這兩行,也就是說 這兩行 不被 CPU 執(zhí)行。經(jīng)過我 反復(fù)驗(yàn)證,確實(shí)如此。
        附錄:
        #include <avr/io.h>
        #include interrupt.h>
        #include
        unsigned int atmp;
        unsigned int atimer;
        unsigned int anum;
        unsigned int aclock;
        void func();
        int main(void)
        {
        DDRA=0xFF; //將PA口接到LED上觀察現(xiàn)象。
        PORTA=0x00;
        TCCR1A=0x00;
        TCCR1B=(1<
        TCNT1=58162;
        TIMSK=(1<
        asm("SEI");
        while(1)
        {
        func();
        if(atimer == 1)
        {
        PORTA=~PORTA;
        }
        }
        }
        void func()
        {
        atimer = 0; //清1ms定時標(biāo)志
        atmp = (aclock)/2;
        if (anum!=atmp )
        {
        anum = atmp;
        atimer = 1; //置1ms定時標(biāo)志
        }
        }
        ISR(TIMER1_OVF_vect,ISR_BLOCK)
        {
        TCNT1=58162; //1024分頻下延時2S.
        aclock++;
        if(aclock==100)
        aclock=0;
        }



        關(guān)鍵詞: JTAGICEmkIIAVR單片

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 色达县| 大埔县| 琼中| 枞阳县| 浮山县| 广昌县| 霍州市| 开阳县| 卓尼县| 开鲁县| 新巴尔虎右旗| 泽州县| 南京市| 宣武区| 佛学| 越西县| 常德市| 启东市| 北川| 五莲县| 尚志市| 裕民县| 方城县| 巴彦淖尔市| 吉木萨尔县| 富民县| 泰宁县| 洛浦县| 兰考县| 喀喇| 宿迁市| 自治县| 禄劝| 柘城县| 开平市| 湾仔区| 康乐县| 无极县| 阜城县| 呼和浩特市| 周宁县|