在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430 5438 單片機(jī)學(xué)習(xí)筆記

            MSP430 5438 單片機(jī)學(xué)習(xí)筆記

            作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
            通過(guò)430一年的學(xué)習(xí)遇到的很多問(wèn)題,也收獲了很多,以下是學(xué)習(xí)中遇到的一些問(wèn)題,和解決方法,還有很多沒有整理出來(lái),慢慢整理中。。。。

            一、多源中斷問(wèn)題
            #pragma vector = PORT2_VECTOR
            __interrupt void port2(void)
            {
            switch(P2IV)
            {
            case P2IV_P2IFG6:
            P2IFG &=~BIT6;
            P1OUT ^= BIT0;break; //LED1 亮滅
            case P2IV_P2IFG7:
            P2IFG &=~BIT7;
            P1OUT ^= BIT1;break; //LED2 亮滅
            default :break;
            }

            本文引用地址:http://www.biyoush.com/article/201611/321217.htm

            }


            #pragma vector = PORT2_VECTOR
            __interrupt void port2(void)
            {
            if(P1IFG&BIT6){
            P2IFG &=~BIT6;
            }
            if(P1IFG&BIT7){
            P2IFG &=~BIT7;
            }

            }

            這兩種方法有說(shuō)明不同嗎?上面一種是通過(guò)向量中斷號(hào)進(jìn)行判斷,下面是用中斷標(biāo)志進(jìn)行判斷,在上面的判斷中是否需要用軟件把中斷標(biāo)志清0

            二、關(guān)于flash的塊擦除
            void Seg_Erase(void){
            _DINT();
            WDTCTL = WDTPW + WDTHOLD;
            char *flase_erase;
            flase_erase = (char *)0x8000; //指向要檫寫的段地址
            while(FCTL3&BUSY);
            FCTL3 = FWKEY; //清除LOCK
            FCTL1 = FWKEY +ERASE; //段檫除
            *flase_erase = 0; //空寫將0寫為1
            FCTL3 = FWKEY + LOCK; //LOCK置1
            _EINT();
            }
            請(qǐng)問(wèn)在進(jìn)行FLASH段擦除的時(shí)候,調(diào)用這個(gè)函數(shù)是只擦除一個(gè)字節(jié)?要進(jìn)行整段擦除的時(shí)候是用for語(yǔ)句調(diào)這個(gè)函數(shù)128次。
            還是調(diào)用一次這個(gè)函數(shù)把128個(gè)字節(jié)一起擦除。

            三、_root問(wèn)題
            當(dāng)編譯器碰到該條指令的時(shí)候就把它進(jìn)行編譯。

            四、關(guān)于MSP430的中斷嵌套,和優(yōu)先級(jí)問(wèn)題?

            五、msp430沒有自帶的EEPROM,但是information ABCD四個(gè)塊相當(dāng)于EEPROM在5系列中他們的地址分別是
            A:001800H~00187fH
            B:001880H~0018FFH
            C: 001900H~00197FH
            D: 001980H~0019FFH

            六、硬件乘法器
            MPY = 125;
            OP2 = 125;
            result = RESHI;
            result = (result<<16)|RESLO;

            result=125*125;

            這兩個(gè)編譯的效率哪個(gè)更加高一點(diǎn),result=125*125編譯器會(huì)不會(huì)直接把它編譯成
            MPY = 125;
            OP2 = 125;
            result = RESHI;
            result = (result<<16)|RESLO;
            使用硬件乘法器去算這個(gè)值。

            七、關(guān)于內(nèi)存的問(wèn)題
            我在用MSP5438片子求1024點(diǎn)FFT的時(shí)候,定義
            float dataR[1024]={0};
            float dataI[1024]={0};在RAN區(qū)

            定義正余弦表在flash程序存儲(chǔ)器里
            const float sin_tab[1024]={.....};
            const float cos_tab[1024]={.....};
            做軟仿的時(shí)候可以計(jì)算,用JTAG往片子里下的時(shí)候就不行,觀察RAM區(qū)時(shí)候發(fā)現(xiàn),是定義的const float sin_tab[1024]
            const float cos_tab[1024]本應(yīng)該在flash區(qū)的數(shù)據(jù),怎么會(huì)出現(xiàn)在RAM區(qū)里?導(dǎo)致不能進(jìn)行仿真。
            編譯以后這里看所消耗的資源應(yīng)該是可以的承受的。
            892 bytes of CODE memory
            8194 bytes of CONST memory
            8194 bytes of DATA memory
            我是第一次用430的片子,有些問(wèn)題不太明白,望各位大蝦不吝賜教。謝了。


            上一頁(yè) 1 2 下一頁(yè)

            評(píng)論


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

            關(guān)閉