最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

江科大學習筆記 _3.外部中斷配置

2023-06-09 12:30 作者:自閉選手的Z23  | 我要投稿

例:開啟PB14的引腳的 接收外部信號 中斷

1.?開啟RCC時鐘,掛載在APB2總線上

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

?

2.?開啟AFIO時鐘,掛載在APB2總線上

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

EXTI和NVIC在STM32中不需要手動開啟

?

3.?選擇EXTI外設中斷線,并配置EXTI

AFIO的配置文件和GPIO在一個函數(shù)里

GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource14);

?

?

配置EXTI

????EXTI_InitTypeDef EXTI_InitStruct;

????EXTI_InitStruct.EXTI_Line = EXTI_Line14;

????EXTI_InitStruct.EXTI_LineCmd = ENABLE;

????EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt;

????EXTI_InitStruct.EXTI_Trigger = ?EXTI_Trigger_Falling;

????EXTI_Init(&EXTI_InitStruct);

?

4.?配置NVIC

在內(nèi)核函數(shù)庫里(misc.h)

?

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//這個函數(shù)在整個程序里只要配置一次

????

????NVIC_InitTypeDef NVIC_InitStruct;

????NVIC_InitStruct.NVIC_IRQChannel = EXTI15_10_IRQn;

????NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;

????NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 1;

????NVIC_InitStruct.NVIC_IRQChannelSubPriority = 1;

????NVIC_Init(&NVIC_InitStruct);

?

4步后,中斷程序開啟,接下來就需要編寫中斷函數(shù)

每一個中斷通道都對應一個中斷函數(shù)

?

void EXTI15_10_IRQHandler(void)

{

//因為EXTI10--15都能進這個中斷函數(shù),所以先判斷是不是EXTI14進的中斷

????if(EXTI_GetITStatus(EXTI_Line14) == SET)

?????{

??????????

????? ????EXTI_ClearITPendingBit(EXTI_Line14);//關閉這個中斷,否則一直在中斷中

?????}

?

}

?


江科大學習筆記 _3.外部中斷配置的評論 (共 條)

分享到微博請遵守國家法律
宣威市| 盐源县| 楚雄市| 马边| 图木舒克市| 溧水县| 浮梁县| 闽侯县| 始兴县| 深圳市| 类乌齐县| 通江县| 通化县| 轮台县| 呼和浩特市| 新巴尔虎左旗| 沙雅县| 新营市| 德化县| 许昌县| 来凤县| 铜鼓县| 东宁县| 都安| 于田县| 阆中市| 蒲城县| 许昌市| 澄江县| 玉林市| 英吉沙县| 夹江县| 宾阳县| 嘉黎县| 绥芬河市| 固原市| 富宁县| 包头市| 鄢陵县| 淳安县| 拉萨市|