久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

有沒有高手幫我看看我下面的代碼錯哪了,可以進入第一個中斷,但第二個怎么也不能...

[復制鏈接]
跳轉到指定樓層
樓主
ID:511424 發表于 2019-4-20 10:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <msp430.h>

/*
* main.c
*/
int main(void) {
    WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer
    P1OUT =BIT3;
    P1REN |=BIT3;
        P1IE |=BIT3;
        P1IES |=BIT3;
        P1IFG &=~BIT3;
        P1OUT |=BIT2;
        _BIS_SR(GIE);
        while (1)
        {
                if((P1OUT&BIT2)==0)
                {
                        TA0CTL = TASSEL_1 + MC_1 + TACLR;
                        TA0CCTL0 = CCIE;
                        TACCR0 = 32768;       //30秒計時
                        _BIS_SR(GIE);
                }
                else
                        __no_operation();

          }
}
#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
        P1OUT &=~BIT2;
        P1IFG &= ~BIT3;
}
#pragma vector = TIMER0_A0_VECTOR
__interrupt void Timer_A(void)
{
        int i=0;
        i++;
        if(i==30)
        P1OUT |=BIT2;
        else
                __no_operation();
}


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

使用道具 舉報

沙發
ID:395176 發表于 2019-4-20 12:49 | 只看該作者
int i=0;前加static 不然一直執行不了if中的語句
回復

使用道具 舉報

板凳
ID:511424 發表于 2019-4-20 13:19 | 只看該作者
飛機翻筋斗 發表于 2019-4-20 12:49
int i=0;前加static 不然一直執行不了if中的語句

還是不行,定時器中斷還是沒反應
回復

使用道具 舉報

地板
ID:511424 發表于 2019-4-20 13:30 | 只看該作者
飛機翻筋斗 發表于 2019-4-20 12:49
int i=0;前加static 不然一直執行不了if中的語句

是main函數里的定時器中斷有問題,不能中斷啊
回復

使用道具 舉報

5#
ID:282850 發表于 2019-4-22 13:59 | 只看該作者
調試思路有2:
1、將LED顯示改在if前,也就是一進入TIMEA中斷就改變LED狀態,看是否能進入中斷;
2、i=0;每次進中斷就置0,if肯定沒能進入,建議i=0定義為全局變量,思路也清晰。
    另外可以用我的《(原創設計)自用自寫的IAR for MSP430系列快速編程模版Template.txt 》模版中的TIME中斷試試看,都是我調試通過的。 在-----MSP430單片機 › (原創設計)自用自寫的IAR for MSP430系列快速編程模版 ... 中有下載。
回復

使用道具 舉報

6#
ID:282850 發表于 2019-4-22 21:36 | 只看該作者
今天工作多,看到你TIMEA的結構不對,不應放置在while(1)中,中斷的特點是初始化完成后,就會等待中斷條件的到來,千萬不要與while(1)相關聯。
回復

使用道具 舉報

7#
ID:282850 發表于 2019-4-22 21:40 | 只看該作者
喝了酒的晚上,剛才的還沒有寫完。
給我參考程序:

void main()
{
   Init_Timer_A();

}

unsigned int it=0;      //測試時鐘精度,用來校準
void Init_Timer_A(void)
{

      /*----------------SMCLK--分頻再分頻------------SMCLK來源在main中選擇:BCSCTL2=SELS */
      //     TACTL = TASSEL_2 + ID_3 + MC_1 ;//+ TAIE;          //TASSEL_1:時鐘,ID_3:分頻,MC_1:增計數到CCR0從0重新計。err:TASSEL_0外部時鐘,TAIE溢出中斷允許,對應TIMERA1_VECTOR的TA0IV 10,不需要CCIE也中斷
      //     CCTL0 = CCIE;              //= CCR0 捕獲比較中斷使能,對應TIMERA0_VECTOR。計數中斷見TAIE
      //     CCR0=62500;  //8Mhz晶體/8=1M--->SMCLK, DCOx---->MCK(BCSCTL2 =SELM_1,主時鐘(main中)用DOC), 8MHz/8(DIV_3)/8(ID_3)=125000--->TimerA,0.5S=125000/2=62500
      //▲ CCTL1 = CCIE;              //= CCR1 中斷使能,▲▲FFF:如果使能,一定要用中斷處理函數TIMERA1_VECTOR(才自清標志),否則TimerA0只執行一次。
      /*----------------ACLK--------------*/
      TACTL = TASSEL_1 + ID_0 + MC_1 ;//+ TAIE;          //TASSEL_1:時鐘,ID_3:分頻,MC_1:增計數到CCR0從0重新計。err:TASSEL_0外部時鐘,TAIE溢出中斷允許,對應TIMERA1_VECTOR的TA0IV 10,不需要CCIE也中斷
      CCTL0 = CCIE;              //= CCR0 捕獲比較中斷使能,對應TIMERA0_VECTOR。計數中斷見TAIE
      CCR0=32768;  //1S  
      //▲ CCTL1 = CCIE;              //= CCR1 中斷使能,▲▲FFF:如果使能,一定要用中斷處理函數TIMERA1_VECTOR(才自清標志),否則TimerA0只執行一次。
      _EINT();
            
}

/*同一個定時器,但是有2個中斷向量地址。TIMERA0對CCR0溢出中斷;TIMERA1對CCR1/CCR2或TAR計數溢出中斷,*/
#pragma vector=TIMERA0_VECTOR       //g2332  TIMER0_A0_VECTOR
__interrupt void TimerA0()
{
      P2DIR |= BIT5;                           //方向設為輸出
      P2OUT ^= BIT5;                           //輸出取反,與位的1異或=位取反
      
}
回復

使用道具 舉報

8#
ID:282850 發表于 2019-4-23 09:52 | 只看該作者
f556 發表于 2019-4-22 21:40
喝了酒的晚上,剛才的還沒有寫完。
給我參考程序:

這是我模版中的程序,MSP430G2332,大部分是通用的。如果編譯出錯,是msp430.h定義的寄存器名不對,按h文件改一下。可以看出注釋、參數選擇、時鐘選擇備注很詳細。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品免费观看 | 中国大陆高清aⅴ毛片 | www.国产精 | av一区在线观看 | 一区二区视频 | 色橹橹欧美在线观看视频高清 | 国产高清免费在线 | 欧美 日韩 在线播放 | 人人玩人人添人人澡欧美 | 精品乱码一区二区三四区视频 | 黄色网页在线观看 | 欧美日韩在线观看视频 | 黄色国产在线播放 | 成人欧美一区二区三区黑人孕妇 | 九色porny自拍视频 | 亚洲精品第一 | .国产精品成人自产拍在线观看6 | gav成人免费播放视频 | 美国一级片在线观看 | 毛片免费在线 | 精品国产视频 | 97av视频| 一级毛片免费 | 午夜天堂精品久久久久 | a级大片免费观看 | 国产成人精品在线播放 | 欧美一级电影免费 | 365夜爽爽欧美性午夜免费视频 | 激情五月婷婷在线 | 在线国产视频观看 | 成人精品网 | 美女黄网站视频免费 | 欧美亚洲国产一区二区三区 | 天天躁日日躁aaaa视频 | 亚洲一二三区在线观看 | 天堂成人av | 欧美成人精品 | 91精品国产综合久久精品图片 | 成人小视频在线观看 | 精品视频久久久 | 视频二区 |