完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void Exti_Init(void)
{ EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource0); GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource1); EXTI_InitStructure.EXTI_Line = EXTI_Line0; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //下降沿触发 EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init( EXTI_InitStructure); // EXTI_InitTypeDef EXTI_InitStructure; EXTI_InitStructure.EXTI_Line = EXTI_Line1; //外部中断1 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //下降沿触发 EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init( EXTI_InitStructure); //外部中断0中断优先级 NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQChannel; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init( NVIC_InitStructure); //外部中断1中断优先级 NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQChannel; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =1; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; NVIC_Init( NVIC_InitStructure); } void EXTI0_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line0) != RESET) { EXTI_ClearITPendingBit(EXTI_Line0); //清外部中断0 LED1ON(); delay_s(); LED1OFF(); uart1_trx[uart1_rx] = 0x61; uart1_rx++; uart1_rx = 0x3f; } } void EXTI1_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line1) != RESET) { EXTI_ClearITPendingBit(EXTI_Line1);//清外部中断1 LED2ON(); delay_s(); LED2OFF(); uart1_trx[uart1_rx] = 0x62; uart1_rx++; uart1_rx = 0x3f; } } 假如PE0,PE1配置为按键输入 PE0按下时产生的下降沿触发外中断0,那在释放会产生上升沿,会不会触发外中断1? PE1按下时产生的下降沿会触发外中断0吗?,那在释放会产生上升沿,会不会触发外中断1? 谁能说清楚点啊,谢谢啦,分数都是浮云,解决问题最重要! 望高手解决。外中断1搞错了 // EXTI_InitTypeDef EXTI_InitStructure; EXTI_InitStructure.EXTI_Line = EXTI_Line1; //外部中断1 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; //上升沿触发 EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init( EXTI_InitStructure); 其他不变。我要问的是这个,我搞错了,这又会是什么情况 PE0按下时产生的下降沿触发外中断0,那在释放会产生上升沿,会不会触发外中断1? PE1按下时产生的下降沿会触发外中断0吗?,那在释放会产生上升沿,会不会触发外中断1? |
|
相关推荐
1个回答
|
|
在STM32中,外设中断(EXTI)是一种用于检测外部事件的中断机制。在您提供的代码片段中,您已经配置了PE0和PE1引脚用于外部中断。然而,要使上升沿触发外中断1,您需要进行一些额外的配置。
首先,您需要初始化EXTI和NVIC结构体,然后配置EXTI线。以下是完整的初始化代码: ```c void Exti_Init(void) { EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; // 配置PE0为下降沿触发外中断0 GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource0); EXTI_InitStructure.EXTI_Line = EXTI_Line0; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; // 配置为下降沿触发 EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); // 配置PE1为上升沿触发外中断1 GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource1); EXTI_InitStructure.EXTI_Line = EXTI_Line1; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; // 配置为上升沿触发 EXTI_Init(&EXTI_InitStructure); // 配置NVIC中断优先级和子优先级 NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_Init(&NVIC_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn; NVIC_Init(&NVIC_InitStructure); } ``` 在这个代码中,我们首先配置PE0为下降沿触发外中断0,然后配置PE1为上升沿触发外中断1。接下来,我们配置NVIC中断优先级和子优先级,以确保中断能够被正确处理。 现在,当PE0按下时,会产生下降沿,触发外中断0。当PE0释放时,会产生上升沿,触发外中断1。这样,您就可以根据需要处理这两个中断了。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1885 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1663 浏览 1 评论
1149 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
763 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1720 浏览 2 评论
1965浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
791浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
616浏览 3评论
631浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
594浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-14 23:01 , Processed in 1.371342 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号