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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > STM32學習筆記——外部中斷EXTI

          STM32學習筆記——外部中斷EXTI

          作者: 時間:2016-11-28 來源:網(wǎng)絡 收藏

          學習筆記

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

          forSTM32F103C8

          redesignedbyzhangbin

          2012-10-30

          versions:V-0.1

          AllRightsReserved

          main.c如下,注釋的比較詳細,把下面的例子即說明都看明白基本上就可以用了:

          //搶占級別高的會打斷其他中斷優(yōu)先執(zhí)行,而響應級別高的會在其他中斷執(zhí)行完優(yōu)先執(zhí)行。

          //EXTI:外部中斷/事件控制器

          //EXTI控制器可以產(chǎn)生高達19個軟件事件/中斷請求

          //將19根線配置為中斷源,將19根線配置為事件源,將19根線配置為軟件中斷/事件線,詳見《STM32F103xxx使用手冊》

          //P135

          //在這個文件中主要是進行各種初始化配置,包括GPIO配置、EXTI配置、系統(tǒng)時鐘配置等

          //中斷服務程序則在stm32f10x_it.c文件中,該文件提供所有異常處理程序和外圍中斷服務程序的模板,詳見該文件

          #include"stm32f10x_lib.h"

          EXTI_InitTypeDefEXTI_InitStructure;//定義外部中斷初始化結(jié)構(gòu)體變量內(nèi)部含有4個成員詳見EXTI_InitTypeDef的定義

          ErrorStatusHSEStartUpStatus;//定義錯誤狀態(tài)變量,是枚舉類型

          voidRCC_Configuration(void);

          voidGPIO_Configuration(void);

          voidNVIC_Configuration(void);

          intmain(void)

          {

          #ifdefDEBUG

          debug();

          #endif

          RCC_Configuration();//系統(tǒng)時鐘配置

          NVIC_Configuration();//NVIC配置

          GPIO_Configuration();//配置GPIO

          //STM32的外部中斷不是固定的,是可以映射的。如EXTI6既可以映射到PB6也可以映射到PA6,詳見外部中斷/事件與GPIO的映射關(guān)系

          //將IO端口注冊至中斷線(將IO口映射到中斷線N)

          //

          GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource6);//選擇GPIO管腳用作外部中斷線路

          //第一個參數(shù)選擇用作外部中斷線源的GPIO端口第二個參數(shù)是待設置的外部中斷線路,可以是GPIO_PinSourcex(x可以0~15)


          上一頁 1 2 3 下一頁

          評論


          技術(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); })();