學習筆記
本文引用地址:http://2s4d.com/article/201611/322884.htmforSTM32F103C8
redesignedbyzhangbin
2012-10-30
versions:V-0.1
AllRightsReserved
main.c如下,注釋的比較詳細,把下面的例子即說明都看明白基本上就可以用了:
//搶占級別高的會打斷其他中斷優(yōu)先執(zhí)行,而響應(yīng)級別高的會在其他中斷執(zhí)行完優(yōu)先執(zhí)行。
//EXTI:外部中斷/事件控制器
//EXTI控制器可以產(chǎn)生高達19個軟件事件/中斷請求
//將19根線配置為中斷源,將19根線配置為事件源,將19根線配置為軟件中斷/事件線,詳見《STM32F103xxx使用手冊》
//P135
//在這個文件中主要是進行各種初始化配置,包括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)
評論