STM32 學習總結2 ----利用中斷來控制按鍵點燈、捕獲功能練習

 2023-10-18 阅读 18 评论 0

摘要:        跟著戰艦V3 資料盤里學習,關于中斷的練習,就是用中斷控制按鍵點燈,很簡單的程序,且有例程,可是我的還是出了些問題:     外部中斷和IO的對應關系設置:“STM32F103 的 EXTI 控制器支持 19 個外部中斷/事件

   

    跟著戰艦V3 資料盤里學習,關于中斷的練習,就是用中斷控制按鍵點燈,很簡單的程序,且有例程,可是我的還是出了些問題:

    外部中斷和IO的對應關系設置:“STM32F103 的 EXTI 控制器支持 19 個外部中斷/事件請求:

    STM32F103 的19 個外部中斷為:
    線 0~15:對應外部 IO口的輸入中斷。
    線 16:連接到 PVD輸出。
    線 17:連接到 RTC 鬧鐘事件。
    線 18:連接到 USB 喚醒事件。

    外部 IO 口的中斷,需要一個寄存器配置,也就是 IO 復用里的外部中斷配置寄存器 EXTICR。這是因為 STM32 任何一個 IO 口都可以配置成中斷輸入口,但是 IO 口的數目遠大于中斷線數(16 個)。于是 STM32 就這樣設計,GPIOA~GPIOG 的[15:0]分別對應中斷線 15~0。這樣每個中斷線對應了最多 7 個 IO 口,以線 0為例:它對應了 GPIOA.0、GPIOB.0、GPIOC.0、GPIOD.0、GPIOE.0、GPIOF.0、GPIOG.0。而中斷線每次只能連接到1個IO口上,這樣就需要EXTICR來決定對應的中斷線配置到哪個GPIO上了。” 我的理解:斷口幾就只能對應線幾,比如GPIOC4就只能對應中斷線4,同時也就只能使用中斷4的中斷函數。“STM32F1的外部中斷0~4都有單獨的中斷服務函數,但是從5開始,他們就沒有單獨的服務函數了,而是多個中斷共用一個服務函數,比如外部中斷 5~9 的中斷服務函數為:void EXTI9_5_IRQHandler(void),類似的,void EXTI15_10_IRQHandler(void)就是外部中斷 10~15 的中斷服務函數。”?

    主要程序如下:

//外部中斷4服務程序
void EXTI4_IRQHandler(void)
{
  delay_ms(10); //消抖
  if(KEY1==0) //WK_UP按鍵
  {
    LED9=!LED9;
  }
  EXTI->PR=1<<4; //清除LINE4上的中斷標志位
}
//外部中斷0服務程序
void EXTI0_IRQHandler(void)
{
  delay_ms(10); //消抖
  if(KEY2==0) //按鍵KEY2
  {
    LED10=!LED10;
  }
  EXTI->PR=1<<0; //清除LINE0上的中斷標志位
}
//外部中斷2服務程序
void EXTI2_IRQHandler(void)
{
  delay_ms(10); //消抖
  if(KEY3==0) //按鍵KEY1
  {
?     LED11=!LED11;
  }
  EXTI->PR=1<<2; //清除LINE2上的中斷標志位
}
//外部中斷8服務程序
void EXTI9_5_IRQHandler(void)
{
  delay_ms(10); //消抖
  if(KEY4==0) //按鍵KEY0
  {
    LED12=!LED12;
  }
  EXTI->PR=1<<8; //清除LINE8上的中斷標志位? ?這步千萬別忘了
}
//外部中斷初始化程序
//初始化PC4/PB0/PB2/PE8為中斷輸入.
void EXTIX_Init(void)
{
  KEY_Init();
  Ex_NVIC_Config(GPIO_C,4,FTIR); //上升沿觸發
  Ex_NVIC_Config(GPIO_B,0,FTIR); //下降沿觸發
  Ex_NVIC_Config(GPIO_B,2,FTIR); //下降沿觸發
  Ex_NVIC_Config(GPIO_E,8,FTIR); //下降沿觸發
  MY_NVIC_Init(2,3,EXTI4_IRQn,2); //搶占2,子優先級3,組2
  MY_NVIC_Init(2,2,EXTI0_IRQn,2); //搶占2,子優先級2,組2
  MY_NVIC_Init(2,1,EXTI2_IRQn,2); //搶占2,子優先級1,組2
  MY_NVIC_Init(2,0,EXTI9_5_IRQn,2); //搶占2,子優先級0,組2
}

?

?

?

?

轉載于:https://www.cnblogs.com/vowping151105/p/4977533.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/147244.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息