<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 學(xué)習(xí)通用IO與外部中斷

          學(xué)習(xí)通用IO與外部中斷

          作者: 時(shí)間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
          MSP430f5438有12組通用IO分別是從1到J,能作為外部中斷引腳的只有P1和P2兩個(gè)引腳;對(duì)于控制寄存器有下列幾種:

          本文引用地址:http://www.ex-cimer.com/article/201611/321744.htm

          PxIN是輸入寄存器,

          PxOUT是輸出寄存器

          PxDIR是輸入與輸出方向配置寄存器

          PxREn 是下拉下拉寄存器

          PxDS 是驅(qū)動(dòng)增強(qiáng)與減弱寄存器

          PxSEL是功能選擇寄存器

          PxIES是中斷觸發(fā)方式寄存器

          PxIE是中斷允許寄存器

          PxIFG是中斷標(biāo)志寄存器

          中斷配置如下:

          //外部中斷優(yōu)先級(jí)沒有軟件配置。端口0最高,端口7最低

          void out_interrupt()

          {

          PortDIR |=BIT0; //設(shè)置端口方向

          PortIFG &=0xfe; //中斷標(biāo)志

          PortIES |=BIT0; //中斷觸發(fā)方式

          PortIE |=BIT0; //中斷開發(fā)

          PortREN |=BIT0;

          P2OUT |=BIT0;

          }

          //中斷服務(wù)程序如下:

          #include "msp430f5438.h"

          #include "init.h"

          void main( void )

          {

          clk_init();

          out_interrupt();

          P5DIR |=BIT4;

          _EINT();//編譯器內(nèi)部開中斷

          while(1);

          }

          #pragma vector=PORT2_VECTOR

          __interrupt void Port2(void)

          {

          __delay_cycles(1000);

          if((P2IN&0xff)!=0xff)

          {

          P5OUT ^=BIT4;

          }

          PortIFG &= ~BIT0; //中斷標(biāo)志

          }



          關(guān)鍵詞: 通用IO外部中

          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();