新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 430學習筆記之我見

        430學習筆記之我見

        作者: 時間:2016-12-02 來源:網絡 收藏
        /*****************************************************************************
        系統初始化
        ******************************************************************************/
        void InitSys()
        {
        unsigned int iq0;
        //使用XT2振蕩器
        BCSCTL1&=~XT2OFF; //打開XT2振蕩器
        do
        {
        IFG1 &= ~OFIFG; // 清除振蕩器失效標志
        for (iq0 = 0xFF; iq0 > 0; iq0--); // 延時,等待XT2起振
        }
        while ((IFG1 & OFIFG) != 0); // 判斷XT2是否起振
        BCSCTL2 =SELM_2+SELS; //選擇MCLK、SMCLK為XT2
        //以下填充用戶代碼,對各種模塊、中斷、外圍設備等進行初始化
        _EINT(); //打開全局中斷控制,若不需要打開,可以屏蔽本句
        }
        /*****************************************************************************
        端口2中斷函數
        ******************************************************************************/
        #pragma vector=PORT2_VECTOR
        __interrupt void Port2()
        {
        //以下為參考處理程序,不使用的端口應當刪除其對于中斷源的判斷。
        if((P2IFG&BIT0) == BIT0)
        {
        //處理P2IN.0中斷
        P2IFG &= ~BIT0; //清除中斷標志
        //以下填充用戶代碼
        }
        else if((P2IFG&BIT1) ==BIT1)
        {
        //處理P2IN.1中斷
        P2IFG &= ~BIT1; //清除中斷標志
        //以下填充用戶代碼
        }
        else if((P2IFG&BIT2) ==BIT2)
        {
        //處理P2IN.2中斷
        P2IFG &= ~BIT2; //清除中斷標志
        //以下填充用戶代碼
        }
        else if((P2IFG&BIT3) ==BIT3)
        {
        //處理P2IN.3中斷
        P2IFG &= ~BIT3; //清除中斷標志
        //以下填充用戶代碼
        }
        else if((P2IFG&BIT4) ==BIT4)
        {
        //處理P2IN.4中斷
        P2IFG &= ~BIT4; //清除中斷標志
        //以下填充用戶代碼
        }
        else if((P2IFG&BIT5) ==BIT5)
        {
        //處理P2IN.5中斷
        P2IFG &= ~BIT5; //清除中斷標志
        //以下填充用戶代碼
        }
        else if((P2IFG&BIT6) ==BIT6)
        {
        //處理P2IN.6中斷
        P2IFG &= ~BIT6; //清除中斷標志
        //以下填充用戶代碼
        }
        else
        {
        //處理P2IN.7中斷
        P2IFG &= ~BIT7; //清除中斷標志
        //以下填充用戶代碼
        }
        LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
        }
        /*****************************************************************************
        USART1發送中斷函數
        ******************************************************************************/
        #pragma vector=USART1TX_VECTOR
        __interrupt void Usart1Tx()
        {
        //以下填充用戶代碼
        LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
        }
        /*****************************************************************************
        USART1接收中斷函數
        ******************************************************************************/
        #pragma vector=USART1RX_VECTOR
        __interrupt void Ustra1Rx()
        {
        //以下填充用戶代碼
        LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
        }
        /*****************************************************************************
        端口1中斷函數
        多中斷中斷源:P1IFG.0~P1IFG7
        進入中斷后應首先判斷中斷源,退出中斷前應清除中斷標志,否則將再次引發中斷
        ******************************************************************************/
        #pragma vector=PORT1_VECTOR
        __interrupt void Port1()
        {
        //以下為參考處理程序,不使用的端口應當刪除其對于中斷源的判斷。
        if((P1IFG&BIT0) == BIT0)
        {
        //處理P1IN.0中斷
        P1IFG &= ~BIT0; //清除中斷標志
        //以下填充用戶代碼
        }
        else if((P1IFG&BIT1) ==BIT1)
        {
        //處理P1IN.1中斷
        P1IFG &= ~BIT1; //清除中斷標志
        //以下填充用戶代碼
        }
        else if((P1IFG&BIT2) ==BIT2)
        {
        //處理P1IN.2中斷
        P1IFG &= ~BIT2; //清除中斷標志
        //以下填充用戶代碼
        }
        else if((P1IFG&BIT3) ==BIT3)
        {
        //處理P1IN.3中斷
        P1IFG &= ~BIT3; //清除中斷標志
        //以下填充用戶代碼
        }
        else if((P1IFG&BIT4) ==BIT4)
        {
        //處理P1IN.4中斷
        P1IFG &= ~BIT4; //清除中斷標志
        //以下填充用戶代碼
        }
        else if((P1IFG&BIT5) ==BIT5)
        {
        //處理P1IN.5中斷
        P1IFG &= ~BIT5; //清除中斷標志
        //以下填充用戶代碼
        }
        else if((P1IFG&BIT6) ==BIT6)
        {
        //處理P1IN.6中斷
        P1IFG &= ~BIT6; //清除中斷標志
        //以下填充用戶代碼
        }
        else
        {
        //處理P1IN.7中斷
        P1IFG &= ~BIT7; //清除中斷標志
        //以下填充用戶代碼
        }
        LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽

        關鍵詞: 430學習筆

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 杭锦旗| 榆树市| 阳城县| 罗山县| 云安县| 新建县| 大冶市| 武平县| 成武县| 岳池县| 雷山县| 神池县| 芦溪县| 庆元县| 迁安市| 正镶白旗| 开化县| 五莲县| 友谊县| 句容市| 宿州市| 哈巴河县| 抚顺县| 朝阳区| 湟中县| 磐安县| 留坝县| 汕尾市| 武宁县| 华亭县| 桓台县| 肃南| 海南省| 西吉县| 郸城县| 东莞市| 乐亭县| 成安县| 青浦区| 延寿县| 呼玛县|