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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430F5529的IO口管腳的中斷學(xué)習(xí)筆記

          MSP430F5529的IO口管腳的中斷學(xué)習(xí)筆記

          作者: 時(shí)間:2016-11-09 來(lái)源:網(wǎng)絡(luò) 收藏
          非常簡(jiǎn)單的一個(gè)程序,在F5529的開(kāi)發(fā)板上用按鍵的IO中斷控制LED的亮滅:
          #include
          int main(void)
          {
          WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
          P1DIR |= BIT0; //將LED1對(duì)應(yīng)的IO口P1.0設(shè)置為輸出
          P1OUT &= ~BIT0; //初始化該燈設(shè)置為滅
          P1DIR &= ~BIT7; //將按鍵1對(duì)應(yīng)的IO口P1.7設(shè)置為輸入
          P1IFG &= ~BIT7; //初始化清空中斷標(biāo)志位
          P1IE |= BIT7; //P1.7中斷使能
          P1IES |= BIT7; //下降沿產(chǎn)生中斷
          P1OUT |= BIT7; //P1.7設(shè)置為上拉電阻:OUT = 1; REN = 1;
          P1REN |= BIT7;
          __enable_interrupt();
          while(1);
          }
          #pragma vector = PORT1_VECTOR //固定格式,聲明中斷向量地址,不能變
          __interrupt void LED(void) //函數(shù)名,可以任意定義
          {
          int i;
          switch(__even_in_range(P1IV,18))
          {
          case 0x10:
          for (i = 0; i < 12000; i++);
          if ((P1IN & BIT7) == 0) //注意位運(yùn)算的優(yōu)先級(jí)!?。》浅V匾?/div>
          P1OUT ^= BIT0;
          break;
          default:
          break;
          }
          }
          經(jīng)驗(yàn)總結(jié):

          1.按鍵需要延時(shí)消抖

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

          2. 標(biāo)志位需要手動(dòng)清零 (此處不完全正確,還有問(wèn)題需要考慮)

          3. 中斷程序格式:

          #pragma vector = PORT2_VECTOR //固定格式,聲明中斷向量地址,不能變

          __interrupt void fuck430(void) //函數(shù)名,可以任意定義

          {

          switch(__even_in_range(P2IV,18))

          {

          case 0x06:

          break;

          default:

          break;

          }

          }

          4. 主程序中要開(kāi)總中斷,然后有循環(huán)

          5. 位運(yùn)算的優(yōu)先級(jí)很低,注意加括號(hào)

          6. 按鍵的上拉電阻,OUT、REN、IES

          一上午終于把IO中斷弄懂了。吸取位運(yùn)算優(yōu)先級(jí)的教訓(xùn)。




          評(píng)論


          技術(shù)專(zhuān)區(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); })();