欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
STM32外部中斷無法觸發
[打印本頁]
作者:
1844952977
時間:
2019-9-1 10:59
標題:
STM32外部中斷無法觸發
以下是我外部中斷的函數 我就想問 為什么外部中斷無法觸發呢 我直接都把引腳接3.3V了還是無法觸發 我IO口PDin4和5配置的都是下拉 PBin12和13配置的是上拉。 請問為什么觸發不成功啊。。求教求教
void EXTI0_IRQHandler(void)
{
delay_ms(10); //消抖
if(PDin(4)==1)
{
left();
}
EXTI_ClearITPendingBit(EXTI_Line0); //清除LINE0上的中斷標志位
}
//外部中斷2服務程序
void EXTI2_IRQHandler(void)
{
delay_ms(10); //消抖
if(PDin(5)==1)
{
right();
}
EXTI_ClearITPendingBit(EXTI_Line2);//清除LINE2上的中斷標志位
}
//外部中斷3服務程序
void EXTI3_IRQHandler(void)
{
delay_ms(10); //消抖
if(PBin(12)==0)
{
stop();
chuansongdai_work(1);
if(PBin(13)==0)
{
chuansongdai_work(3); //傳送帶停
}
}
EXTI_ClearITPendingBit(EXTI_Line3); //清除LINE3上的中斷標志位
}
//外部中斷4服務程序
void EXTI4_IRQHandler(void)
{
delay_ms(10); //消抖
EXTI_ClearITPendingBit(EXTI_Line4);//清除LINE4上的中斷標志位
}
//外部中斷初始化程序
//初始化PE2~4,PA0為中斷輸入.
void EXTIX_Init(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
//KEY_Init(); //按鍵對應的IO口初始化
hongwai_init();
huidu_init();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);//使能SYSCFG時鐘
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB, EXTI_PinSource12);//PE2 連接到中斷線2
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB, EXTI_PinSource13);//PE3 連接到中斷線3
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOD, EXTI_PinSource5);//PE4 連接到中斷線4
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOD, EXTI_PinSource4);//PA0 連接到中斷線0
/* 配置EXTI_Line0 */
EXTI_InitStructure.EXTI_Line = EXTI_Line0 | EXTI_Line4;//LINE0
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;//中斷事件
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; //上升沿觸發
EXTI_InitStructure.EXTI_LineCmd = ENABLE;//使能LINE0
EXTI_Init(&EXTI_InitStructure);//配置
/* 配置EXTI_Line2,3,4 */
EXTI_InitStructure.EXTI_Line = EXTI_Line2 | 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);//配置
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;//外部中斷0
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00;//搶占優先級0
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02;//子優先級2
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能外部中斷通道
NVIC_Init(&NVIC_InitStructure);//配置
NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn;//外部中斷2
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02;//搶占優先級0
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02;//子優先級2
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能外部中斷通道
NVIC_Init(&NVIC_InitStructure);//配置
NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn;//外部中斷3
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x01;//搶占優先1
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02;//子優先級2
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能外部中斷通道
NVIC_Init(&NVIC_InitStructure);//配置
NVIC_InitStructure.NVIC_IRQChannel = EXTI4_IRQn;//外部中斷4
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x01;//搶占優先級1
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02;//子優先級2
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能外部中斷通道
NVIC_Init(&NVIC_InitStructure);//配置
}
復制代碼
作者:
woshige
時間:
2019-9-2 09:51
用斷點調試一下,如果沒進中斷就去找觸發的條件、中斷配置,從后往前推
作者:
1844952977
時間:
2019-9-5 15:36
woshige 發表于 2019-9-2 09:51
用斷點調試一下,如果沒進中斷就去找觸發的條件、中斷配置,從后往前推
已經解決了 謝謝
作者:
傻蛋兒
時間:
2020-1-3 22:54
1844952977 發表于 2019-9-5 15:36
已經解決了 謝謝
樓主,你是怎么解決的?我也遇到和你一樣的問題,謝謝!
作者:
omrcard
時間:
2020-5-14 14:40
1844952977 發表于 2019-9-5 15:36
已經解決了 謝謝
小氣,只問不大,咋解決的不說
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1