新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32學(xué)習(xí)筆記——外部中斷EXTI

STM32學(xué)習(xí)筆記——外部中斷EXTI

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

學(xué)習(xí)筆記

本文引用地址:http://m.butianyuan.cn/article/201611/322884.htm

forSTM32F103C8

redesignedbyzhangbin

2012-10-30

versions:V-0.1

AllRightsReserved

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

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

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

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

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

//P135

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

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

#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ù)是待設(shè)置的外部中斷線路,可以是GPIO_PinSourcex(x可以0~15)


上一頁 1 2 3 下一頁

評論


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

關(guān)閉