找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2335|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

單片機中斷下加一個循環(huán)程序,循環(huán)不執(zhí)行

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:511572 發(fā)表于 2020-1-6 11:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我把中加那個while()循環(huán)加進去之后,他只亮一下,不是我想要的循環(huán)閃亮

void EXTI3_IRQHandler(void)
{
        delay_ms(10);//消抖
        if(KEY1==0)         //按鍵KEY1
        {                        
                     {
                        while(WK_UP && KEY0==1)
                LED0  =0;
                LED1  =1;
                LED2  =0;
                LED3  =0;  
                LED4  =0;
                LED5  =0;
                LED6  =0;
                LED7  =0;
                LED8  =0;
               
        delay_ms(500);
                LED0  =0;
                LED1  =0;
                LED2  =0;
                LED3  =0;  
                LED4  =0;
                LED5  =1;
                LED6  =1;
                LED7  =0;
                LED8  =0;
               
        delay_ms(500);
                 }        

EXTI_ClearITPendingBit(EXTI_Line3);  //清除LINE3上的中斷標志位  
        }
}

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

使用道具 舉報

沙發(fā)
ID:282850 發(fā)表于 2020-1-6 16:20 | 只看該作者
        if(KEY1==0)         //按鍵KEY1
        {                        
                     {
                        while(WK_UP && KEY0==1)
                LED0  =0;
                LED1  =1;
                LED2  =0;
                LED3  =0;  
                LED4  =0;
                LED5  =0;
                LED6  =0;
                LED7  =0;
                LED8  =0;
   相當于  while(WK_UP && KEY0==1)     LED0  =0;
其它LED屬于if的責(zé)任范圍。調(diào)一下{}位置。
回復(fù)

使用道具 舉報

板凳
ID:584814 發(fā)表于 2020-1-6 16:35 | 只看該作者
循環(huán)不執(zhí)行,應(yīng)檢查循環(huán)執(zhí)行條件是否滿足。
回復(fù)

使用道具 舉報

地板
ID:519712 發(fā)表于 2020-1-6 17:16 | 只看該作者
1.中斷服務(wù)函數(shù)不能傳入?yún)?shù); 2.中斷服務(wù)函數(shù)不能有返回值; 3.中斷服務(wù)函數(shù)應(yīng)做到短小精悍; 4.不要在中斷函數(shù)中使用printf函數(shù),會帶來重入和性能問題
回復(fù)

使用道具 舉報

5#
ID:519712 發(fā)表于 2020-1-6 17:16 | 只看該作者
1.中斷服務(wù)函數(shù)不能傳入?yún)?shù);
2.中斷服務(wù)函數(shù)不能有返回值;
3.中斷服務(wù)函數(shù)應(yīng)做到短小精悍;
4.不要在中斷函數(shù)中使用printf函數(shù),會帶來重入和性能問題
回復(fù)

使用道具 舉報

6#
ID:282850 發(fā)表于 2020-1-7 15:55 | 只看該作者
答復(fù)千差萬別。再重申一次:
                     {
                        while(WK_UP && KEY0==1)
                LED0  =0;
   
改成:
   while(WK_UP && KEY0==1)
           {
                LED0  =0;
   
回復(fù)

使用道具 舉報

7#
ID:130230 發(fā)表于 2020-1-8 11:13 | 只看該作者
在中斷里面搞循環(huán)。。。也是醉了
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表