1.GPIO 的正確設(shè)置
GPIO_InitTypeDef GPIO_InitStructure;
/* Enable GPIOD clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
/* Configure PD.03, PC.04, as input floating */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource3);
2.設(shè)置中斷類型,注冊申請中斷
EXTI_InitTypeDef EXTI_InitStructure;
// Configure EXTI Line9 to generate an interrupt on falling edge
EXTI_InitStructure.EXTI_Line = EXTI_Line3;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource4);
// Configure EXTI Line9 to generate an interrupt on falling edge
EXTI_InitStructure.EXTI_Line = EXTI_Line4;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
3.在NVIC_Configuration 中Configures the NVIC and Vector Table base address.
/* Configure the Priority Group to 2 bits */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
/* enabling interrupt */
NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
/* Enable the EXTI3 Interrupt on PD.3 */
NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
/* Enable the EXTI4 Interrupt on PD.4 */
NVIC_InitStructure.NVIC_IRQChannel = EXTI4_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
4.在stm32f0x_it.c 中寫入 中斷處理函數(shù)
/*******************************************************************************
* Function Name : EXTI3_IRQHandler
* Description : This function handles External interrupt Line 3 request.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void EXTI3_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line3) != RESET)
{
// Led_RW_ON();
GPIO_SetBits(GPIOC, GPIO_Pin_4| GPIO_Pin_5 );
/* Clear the EXTI line 9 pending bit */
EXTI_ClearITPendingBit(EXTI_Line3);
}
}
/*******************************************************************************
* Function Name : EXTI4_IRQHandler
* Description : This function handles External interrupt Line 4 request.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void EXTI4_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line4) != RESET)
{
//Led_RW_OFF();
GPIO_ResetBits(GPIOC, GPIO_Pin_4 | GPIO_Pin_5);
/* Clear the EXTI line 9 pending bit */
EXTI_ClearITPendingBit(EXTI_Line4);
}
}
上一篇:關(guān)于STM32 ADC時采用DMA的一點(diǎn)疑問
下一篇:STM32學(xué)習(xí)筆記之 DS18B20 SEARCH ROM
推薦閱讀最新更新時間:2025-07-01 15:40


- 熱門資源推薦
- 熱門放大器推薦
-
【Follow me第三季第一期】STM32F429I-DISC1任務(wù)匯總
-
【Follow me第三季第1期】任務(wù)三:Arduino環(huán)境運(yùn)動傳感器數(shù)據(jù)讀取
-
【Follow me 第三季第1期】任務(wù)二——Arduino控制板載LED燈,并實(shí)現(xiàn)呼吸燈效果
-
【Follow me 第三季第1期】任務(wù)一 源碼-——Arduino環(huán)境Hello EEWorld
-
射頻電路設(shè)計
-
器件應(yīng)力降額總規(guī)范(艾默生)
-
5G通信系統(tǒng)定位技術(shù)原理與方法
-
笨辦法學(xué)C語言
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- FAN6224同步整流控制器正激續(xù)流整流典型應(yīng)用
- LTC3621EMS8E-2 1.2Vout、同步至 600kHz、強(qiáng)制連續(xù)模式同步降壓型穩(wěn)壓器的典型應(yīng)用
- MC34071ADR2G快速建立逆變器的典型應(yīng)用
- LT3970EMS-3.3 5V 降壓轉(zhuǎn)換器的典型應(yīng)用
- LT1171HVIT、2.5A 高效恒流充電器的典型應(yīng)用
- 具有輕負(fù)載效率的 NCP5252 2.0 A、1.0 MHz 集成同步降壓穩(wěn)壓器的典型應(yīng)用
- DC124,使用 LTC1416 高速 14 位、400Ksps 模數(shù)轉(zhuǎn)換器的演示板
- AD8618ARZ-REEL單電源緩沖DAC輸出運(yùn)算放大器典型應(yīng)用電路
- 使用 MaxLinear, Inc 的 SPX385AS-1.2/TR 的參考設(shè)計
- 使用 NXP Semiconductors 的 MC34SB0410AE 的參考設(shè)計
- 蘋果2021年將向組裝廠下單9000萬部iPhone 13系列
- ADI收購Maxim獲中國國家市場監(jiān)督管理總局反壟斷許可
- 遲到的寒武紀(jì)及其競爭對手們
- 英特爾:以生態(tài)之力,構(gòu)建城市數(shù)字新基建
- 新思科技:2022年軟件安全行業(yè)七大趨勢預(yù)測
- 圖文詳解 | 萬用表的使用與口訣!十足干貨,不要錯過!
- 你用過數(shù)字示波器中的經(jīng)過/失利查驗(yàn)(pass/fail testing)功用嗎?
- 第41章 STM32F429的LTDC應(yīng)用之LCD漢字顯示和2D圖形顯示
- 基于STM32的高性能、低成本芯片的稅控器方案設(shè)計
- 國芯科技發(fā)布全球首款48V安全氣囊芯片,引領(lǐng)智能汽車新紀(jì)元
- 亞馬遜全球部署100萬臺機(jī)器人
- 自動駕駛只用激光雷達(dá)進(jìn)行感知會有哪些問題?
- 為什么電源紋波測試結(jié)果與理論設(shè)計如此之大?
- UWB信標(biāo)與LoRa基站網(wǎng)關(guān)數(shù)據(jù)區(qū)別在哪里?
- 什么是AI 同傳技術(shù)
- 人工智能處理器和加速器到底是什么?
- PWM控制(脈沖寬度調(diào)制)的基本原理是什么
- 如何設(shè)計帶集成運(yùn)放構(gòu)成的方波發(fā)生器
- DSP調(diào)度算法的基本概念和原理
- 谷歌新機(jī)獲得IMDA和BIS認(rèn)證,或7月發(fā)布
- 榮耀老熊科普:5G大屏,為何能比4G大屏手機(jī)還省電?
- 瓊版iPhone瞬間不香了!還有更低的
- iPhone 12新包裝解密:不送耳機(jī)/充電器后更加精巧
- 維信諾確認(rèn)屏下攝像頭OLED面板將要量產(chǎn)
- 中國已經(jīng)成為6G專利申請主要來源國
- OPPO語音助手泄露: ColorOS 12將在9月13日發(fā)布
- 小米MIX 4首發(fā)!UWB技術(shù)有什么優(yōu)勢?官方科普來了
- vivo V1官宣:藍(lán)廠自研影像芯片 將于X70上使用
- 小米產(chǎn)業(yè)基金入股了高端封測初創(chuàng)企業(yè)芯德科技