<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32的學(xué)習(xí)心得之外部中斷/事件控制器(EXTI)

          STM32的學(xué)習(xí)心得之外部中斷/事件控制器(EXTI)

          作者: 時間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          外部中斷/事件我的理解是可以將單片機的IO口全部設(shè)置為外部中斷口,我們可以根據(jù)觸發(fā)哪個IO口中斷,去執(zhí)行相應(yīng)的中斷處理函數(shù)。這個其實很簡單,51一般有2個外部中斷口,而stm32將其擴(kuò)展,每個IO口都可以作為外部中斷口。

          外部中斷配置也很簡單,只需要打開相應(yīng)的IO口配置,時鐘,打開stm32f10x_conf.h里的 #include "stm32f10x_exti.h" ,配置EXIT和中斷處理函數(shù)即可。下面是簡單的實例(基于3.0庫):

          本文引用地址:http://www.ex-cimer.com/article/201611/322971.htm

          void GPIO_Configuration(void)//配置GPIOC_5口作為外部中斷口
          {

          GPIO_InitTypeDefGPIO_InitStructure;
          GPIO_InitStructure.GPIO_Pin= GPIO_Pin_5;
          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
          GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING ;
          GPIO_Init(GPIOC, &GPIO_InitStructure);

          }

          void EXTI_Configuration(void)
          {
          EXTI_InitTypeDef EXTI_InitStructure;
          EXTI_InitStructure.EXTI_Line = EXTI_Line5; //外部中斷線
          EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;//中斷模式
          EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;//中斷觸發(fā)方式
          EXTI_InitStructure.EXTI_LineCmd = ENABLE;//打開中斷
          EXTI_Init(&EXTI_InitStructure);
          GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource5); //選擇 GPIO管腳用作外部中斷線路

          }

          void NVIC_Configuration(void)
          {
          NVIC_InitTypeDef NVIC_InitStructure;

          NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);// 搶占式優(yōu)先級別

          NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;//指定中斷源
          NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; // 指定響應(yīng)優(yōu)先級別1
          NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
          NVIC_Init(&NVIC_InitStructure);

          }

          //中斷處理函數(shù)

          void EXTI9_5_IRQHandler(void)
          {

          if(EXTI_GetITStatus(EXTI_Line5) != RESET)
          {

          //添加中斷處理程序

          EXTI_CleaRFlag(EXTI_Line5);
          EXTI_ClearITPendingBit(EXTI_Line5);

          }

          }



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();