找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32外部中斷實(shí)驗(yàn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:319895 發(fā)表于 2019-12-28 17:31 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

今天我來介紹一下外部中斷。先打開數(shù)據(jù)手冊我用的時(shí)f103這款。不過大體上都差不多。首先介紹什么是外部中斷。所有的GPIO口都要外部中斷功能。如果要使用,必須使用外部中斷線(把GPIO口看做是中斷線),而且必須配置為輸入模式。EXIT控制器有如下特點(diǎn):每個(gè)中斷都有獨(dú)立的觸發(fā)和屏蔽;中斷線都有對(duì)應(yīng)得狀態(tài)位;多達(dá)20個(gè)中斷請(qǐng)求;檢測的脈沖信號(hào)低于APB2時(shí)鐘的脈沖寬度。主要分析流程圖。

分析完流程圖就知道編程思路,順騰摸瓜,從引腳開始,
1)配置數(shù)輸入,復(fù)用為中斷線,既然是復(fù)用肯定要開AFIO時(shí)鐘,
2)把IO復(fù)用為中斷線
3)來到了邊沿選擇寄存器。按鍵選擇上升沿,或者下降沿。
4)開啟EXIT中斷使能
5)開啟NVIC中斷
6)編寫中斷服務(wù)函數(shù)(3步曲:判斷中斷標(biāo)志位,清中斷標(biāo)志位,完成需要的功能)


void My_EXIT_Init()
{
//按鍵初始化

KEY_Init();
//開啟時(shí)鐘

RCC->APB2ENR |= (1<<0);

//PA0映射到EXTI0
AFIO->EXTICR[0] &=~(0xf<<(4*0));

//PE2-4映射到EXIT2-4

AFIO->EXTICR[0] &=~(0xf<<(4*2));
AFIO->EXTICR[0] |=(0x4<<(4*2));

AFIO->EXTICR[0] &=~(0xf<<(4*3));
AFIO->EXTICR[0] |=(0x4<<(4*3));

AFIO->EXTICR[1] &=~(0xf<<(4*0));
AFIO->EXTICR[1] |=(0x4<<(4*0));
//邊沿選擇寄存器,根據(jù)你需要的配置
  EXTI->RTSR |= (1<<0);
EXTI->FTSR |=  (1<<2)|(1<<3)|(1<<4);
/開啟EXIT中斷
EXTI->IMR |= ((1<<0)|(1<<2)|(1<<3)|(1<<4));
//開啟中斷

My_NVIC_Init(EXTI0_IRQn,7-3,6,1);
My_NVIC_Init(EXTI2_IRQn,7-3,5,1);
My_NVIC_Init(EXTI3_IRQn,7-3,4,1);
My_NVIC_Init(EXTI4_IRQn,7-3,3,1);
}

//中斷服務(wù)函數(shù),注意要在.S文件找該函數(shù)名,不然可能寫錯(cuò)
void EXTI0_IRQHandler()
{

  if(EXTI->PR & (1<<0))   //判斷標(biāo)志位
  {
   
   if( K_UP)
   delay_ms(100);
     LED1_ON;
    EXTI->PR |= (1<<0);  //清標(biāo)志位

  }


}


定時(shí)器中斷,軟件中斷和這個(gè)套路差不多。都是一個(gè)套路。



EXIT框圖.png (102.78 KB, 下載次數(shù): 109)

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

使用道具 舉報(bào)

沙發(fā)
ID:475247 發(fā)表于 2019-12-29 10:32 | 只看該作者
建議最少整個(gè)仿真出來,那樣才說明你講的東東是大家值得看的!
回復(fù)

使用道具 舉報(bào)

板凳
ID:319895 發(fā)表于 2019-12-29 13:02 | 只看該作者
還有誰? 發(fā)表于 2019-12-29 10:32
建議最少整個(gè)仿真出來,那樣才說明你講的東東是大家值得看的!

沒必要,我自己畫的板子都實(shí)驗(yàn)過了。我也是剛剛接觸,發(fā)這個(gè)只不過是加強(qiáng)記憶,并不是為了給人看,當(dāng)然有人指出錯(cuò)誤就更好了

回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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