中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430中的_EINT、_BIS_SR、_NOP的使用

        MSP430中的_EINT、_BIS_SR、_NOP的使用

        作者: 時(shí)間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
        剛開始學(xué)習(xí)MSP430,用的是IAR5.4。照著參考書上例子寫了第一個(gè)程序。如下:

        本文引用地址:http://www.antipu.com.cn/article/201611/321422.htm

        #include "io430.h"
        void main( void )
        {
        // Stop watchdog timer to prevent time out reset
        WDTCTL = WDT_ADLY_250;
        IE1 |= WDTIE;
        P1DIR |= 0X01;
        _EINT();

        for(;;)
        {
        _BIS_SR(LPM3_bits);
        _NOP();
        }

        }

        #pragma vector =WDT_VECTOR
        __interrupt void watchdog_timer(void)
        {
        P1OUT ^= 0X01;
        }

        但make后報(bào)錯(cuò)如下:

        Undefined external"_EINT" referred in "main"

        Undefined external"_BIS_SR" referred in "main"

        Undefined external"_NOP" referred in "main"

        意思應(yīng)該是"_EINT"、"_BIS_SR"、"_NOP"沒有被定義。猜到應(yīng)該是相關(guān)為文件沒有被包含進(jìn)來的原因。于是上網(wǎng)查找后找到了原因:

        如果你在IAR中添加入軟件自帶的例程(右鍵——Add Files,路徑一般為C:Program FilesIAR SystemsEmbedded Workbench 6.0 Evaluation430FET_examplesFET_examples,大同小異)并打開會發(fā)現(xiàn),例程的開始并不是#include "io430.h",而是#include "msp430.h",并有一個(gè)"in430.h"一同包含進(jìn)來。打開"in430.h"后就找到了上述三個(gè)宏定義:

        #define _EINT() __enable_interrupt()

        __intrinsic unsigned short _BIS_SR_IRQ(unsigned short);

        #define _NOP() __no_operation()

        所以,將原程序的#include "io430.h"改為#include "msp430.h",再make就沒有錯(cuò)誤了。

        或者,不替換#include "io430.h",而是在后面添加#include "in430.h",程序也會順利通過的。

        若有欠妥之處,還望批評指正,共同進(jìn)步。



        關(guān)鍵詞: MSP430EINTBIS_SRNO

        評論


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

        關(guān)閉