亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1767|回復: 4
打印 上一主題 下一主題
收起左側

單片機新手,關于msp430的中斷問題求助

[復制鏈接]
跳轉到指定樓層
樓主
ID:496661 發表于 2019-3-23 12:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
剛開始學的新手。我想實現的是按鍵按一次兩個燈都亮,再按一次亮一個燈,再按一次全滅,再按一次又全亮,然后一直循環。但不知道為什么我怎么按按鍵燈都不會變,各種方法都試過了,網上的案例也都試過,只能求助于諸位前輩了,可能最后發現問題很明顯,希望前輩們不要介意。

#include <msp430.h>
volatile unsigned int j=0;
int main(void) {

    WDTCTL = WDTPW | WDTHOLD;   // Stop watchdog timer
    _DINT();
    P1DIR |= BIT0+BIT6; //設置P1.0口為輸出
    P1DIR &= ~BIT3; // P1.3設為輸入
    P1REN |= BIT3; //啟用P1.3內部上下拉電阻
    P1OUT |= BIT3; //將電阻設置為上拉
    P1IES |= BIT3; // P1.3設為下降沿中斷
    P1IFG &= ~BIT3;
    P1IE |= BIT3; // 允許P1.3中斷
    _EINT();

   while(1){
    if(j==1){P1OUT=BIT0+BIT6;}
    if(j==2){P1OUT=BIT0;P1OUT&=~BIT6;}
    if(j==3){P1OUT=0;j=0;}
    if(j>4){j=0;}

}
}

#pragma vector = PORT1_VECTOR


__interrupt void PORT_1(void) {
    while ((P1IN & BIT3) == 0)
          ; //P1.3低
     j++;
    P1IFG &= ~BIT3;        //中斷標志位清零
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:496661 發表于 2019-3-23 12:55 | 只看該作者
其實亮什么燈無所謂,就是我似乎不能實現我理想中的 j 的正常變化,很苦惱。
回復

使用道具 舉報

板凳
ID:123289 發表于 2019-3-24 08:19 | 只看該作者
想一下:J=0時你的程序如何會把它變成1-3呢?
回復

使用道具 舉報

地板
ID:496661 發表于 2019-3-24 16:41 | 只看該作者
yzwzfyz 發表于 2019-3-24 08:19
想一下:J=0時你的程序如何會把它變成1-3呢?

不好意思,我復制的時候忘改了。可是初始化j改成1,后面也相應改了,還是不行,這又該怎么辦...
回復

使用道具 舉報

5#
ID:496661 發表于 2019-3-24 16:44 | 只看該作者
yzwzfyz 發表于 2019-3-24 08:19
想一下:J=0時你的程序如何會把它變成1-3呢?

啊不好意思,是我復制的時候忘改了,可是我把j初始化為1,后面也相應改了,還是不行,這又是為什么呢....
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表