无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(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.外部中斷配置的評論 (共 條)

分享到微博請遵守國家法律
吴忠市| 柘城县| 濮阳市| 武鸣县| 德昌县| 岐山县| 安西县| 陕西省| 高州市| 开江县| 新源县| 若尔盖县| 保康县| 柘荣县| 友谊县| 永清县| 隆林| 贵港市| 新余市| 平陆县| 甘肃省| 赤壁市| 嘉定区| 固原市| 湘潭县| 靖宇县| 宜君县| 翁牛特旗| 同仁县| 嘉祥县| 若羌县| 汝州市| 股票| 英山县| 龙州县| 固安县| 武乡县| 汕尾市| 称多县| 彰武县| 黄冈市|