<wbr id="9qp22"><legend id="9qp22"><rt id="9qp22"></rt></legend></wbr>
<th id="9qp22"><noframes id="9qp22"><form id="9qp22"></form></noframes></th>

      <dd id="9qp22"><big id="9qp22"><video id="9qp22"></video></big></dd>
      <th id="9qp22"></th>
        <rp id="9qp22"><acronym id="9qp22"></acronym></rp>
        <dd id="9qp22"><pre id="9qp22"></pre></dd>

        1. <dd id="9qp22"><pre id="9qp22"></pre></dd>
          1. 打印

            [bluetooth] 外部中斷的問題

            [復制鏈接]
            221|5
            跳轉到指定樓層
            樓主
            我用CC2541做了個小板子,有10個按鍵,一個燈。
            試外部中斷,發現時靈時不靈,有誤操作。
            程序如下:
            /****************************************************************************
            * 名    稱: InitKey()
            * 功    能: 設置KEY相應的IO口,采用中斷方式
            * 入口參數: 無
            * 出口參數: 無
            ****************************************************************************/
            void InitKey()
            {
                P0IEN |= 0xf3;    // P0.1 設置為中斷方式 1:中斷使能
                PICTL |= 0xf3;    //下降沿觸發   
                IEN1 |= 0x20;    //允許P0口中斷;
                P0IFG = 0x00;    //初始化中斷標志位

                P1IEN |= 0x0f;    // P0.1 設置為中斷方式 1:中斷使能
                PICTL |= 0x0f;    //下降沿觸發   
                IEN2 |= 0x10;    //允許P1口中斷;
                P1IFG = 0x00;    //初始化中斷標志位

                EA = 1;          //打開總中斷
            }

            /****************************************************************************
            * 名    稱: P0_ISR(void) 中斷處理函數
            * 描    述: #pragma vector = 中斷向量,緊接著是中斷處理程序
            ****************************************************************************/
            #pragma vector = P0INT_VECTOR   
            __interrupt void P0_ISR(void)
            {
                DelayMS(20);     //延時去抖
                LED1 = ~LED1;    //改變LED1狀態
                P0IFG = 0;       //清中斷標志
                P0IF = 0;        //清中斷標志
            }
            /****************************************************************************
            * 名    稱: P1_ISR(void) 中斷處理函數
            * 描    述: #pragma vector = 中斷向量,緊接著是中斷處理程序
            ****************************************************************************/
            #pragma vector = P1INT_VECTOR   
            __interrupt void P1_ISR(void)
            {
                DelayMS(20);     //延時去抖
                LED1 = ~LED1;    //改變LED1狀態
                P1IFG = 0;       //清中斷標志
                P1IF = 0;        //清中斷標志
            }

            我延時20ms,不好使。請問高手,如何解決?謝謝!

            使用特權

            評論回復
            沙發
            | 2019-9-9 22:50 | 只看該作者
            這個程序是直接硬件測試的,還是在osal上測試的?

            使用特權

            評論回復
            板凳
             樓主 | 2019-9-10 09:04 | 只看該作者
            dirtwillfly 發表于 2019-9-9 22:50
            這個程序是直接硬件測試的,還是在osal上測試的?

            直接硬件測試的。。。。。。。。

            使用特權

            評論回復
            地板
            | 2019-9-10 11:56 | 只看該作者
            你有運行官網的例程試一下嗎?
            我記得有外部中斷的例程

            使用特權

            評論回復
            5
            | 2019-9-10 12:25 | 只看該作者
            網上也有基本的例程。你可以參考下試試
            https://wenku.baidu.com/view/ff3a12924afe04a1b071def0.html

            使用特權

            評論回復
            6
             樓主 | 2019-9-10 14:22 | 只看該作者
            dirtwillfly 發表于 2019-9-10 11:56
            你有運行官網的例程試一下嗎?
            我記得有外部中斷的例程

            謝謝!我的程序跟官網的差不多,不行。

            使用特權

            評論回復
            掃描二維碼,隨時隨地手機跟帖
            您需要登錄后才可以回帖 登錄 | 注冊

            本版積分規則

            我要發帖 投訴建議 創建版塊 申請版主

            快速回復

            您需要登錄后才可以回帖
            登錄 | 注冊
            高級模式

            論壇熱帖

            在線客服 快速回復 返回頂部 返回列表
            成人短片线上看