完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
- MCU:STM8L101K3 我使用端口A.2进行中断,使用端口D.2进行常规gpio。 GPIO_Init(GPIOA,GPIO_Pin_2,GPIO_Mode_In_FL_IT); EXti_SetPinSensitivity(EXTI_Pin_2,EXTI_Trigger_Falling); GPIO_Init(GPIOD,GPIO_Pin_2,GPIO_Mode_Out_PP_High_Fast);在我的场景中,端口D.2每1秒更改输入到输出模式。 如果(onesec) { onesec = 0; GPIO_Init(GPIOD,GPIO_Pin_2,GPIO_Mode_In_FL_No_IT); //所有人都走了 如果(REDLED) { GPIO_Init(GPIOD,GPIO_Pin_2,GPIO_Mode_Out_PP_High_Fast); GPIO_ResetBits(GPIOD,GPIO_Pin_2); //红色领导 } 否则如果(蓝色) { GPIO_Init(GPIOD,GPIO_Pin_2,GPIO_Mode_Out_PP_High_Fast); GPIO_SetBits(GPIOD,GPIO_Pin_2); //蓝色领导 } 否则//导致 { // 没有。 } 如果重拨此条件,则调用不期望的EXTI2_IRQHandler。 端口A.2的硬件线在示波器中不会中断。 请知道我为什么 调用EXTI2_IRQHandler? 提前致谢。 以上来自于谷歌翻译 以下为原文 Hello, - MCU : STM8L101K3 I am using Port A.2 for interrupt and Port D.2 for general gpio. GPIO_Init(GPIOA,GPIO_Pin_2, GPIO_Mode_In_FL_IT); EXTI_SetPinSensitivity(EXTI_Pin_2, EXTI_Trigger_Falling); GPIO_Init(GPIOD, GPIO_Pin_2, GPIO_Mode_Out_PP_High_Fast);In my scenario, Port D.2 is changed input to output mode per every 1sec. if(onesec) { onesec = 0; GPIO_Init(GPIOD, GPIO_Pin_2, GPIO_Mode_In_FL_No_IT); // all led off if(redled) { GPIO_Init(GPIOD, GPIO_Pin_2, GPIO_Mode_Out_PP_High_Fast); GPIO_ResetBits(GPIOD, GPIO_Pin_2); // red led on } else if(blueled) { GPIO_Init(GPIOD, GPIO_Pin_2, GPIO_Mode_Out_PP_High_Fast); GPIO_SetBits(GPIOD, GPIO_Pin_2); // blue led on } else //led off { // nothing. } }If this condition is redled, The EXTI2_IRQHandler that will not expected is called. The Port A.2's hardware line is not interrupted in oscillscope. Please know me why EXTI2_IRQHandler is called? Thanks in advance. |
|
相关推荐
2个回答
|
|
你好,
设计EXTI控制器是一种方式,即EXTI [编号]连接到所有Px [编号]引脚。这意味着EXTI2 IRQ处理程序将对非常引脚上的信号变化做出反应,其名称为2:PA2,PB2,PC2和PD2。请参阅下面的MCU参考手册摘录。 我相信这可能是你所面对的行为的解释。 问候 Szymon 以上来自于谷歌翻译 以下为原文 Hello, EXTI controller is designed is a way, that EXTI[number] is connected to all Px[number] pins. This means that EXTI2 IRQ handler will react on signal change on very pin, which has 2 in the name: PA2, PB2, PC2 andPD2. Pleas see below the extract from MCU's reference manual. I believe that this could be an explanation of the bahavior, that you faced. Regards Szymon |
|
|
|
,
, 谢谢。 我还有一个问题。 在输出模式下,电平变化不会影响相同的中断引脚♯。 信号变化的确切含义是什么? , 问候 leewonsoo 以上来自于谷歌翻译 以下为原文 , , Thanks. I have one more question. In output mode, level change is not affects to same interrupt's pin ♯ . What is the exact meaning of the signal change? , Regards leewonsoo |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2448 浏览 1 评论
3157 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1724 浏览 1 评论
3542 浏览 6 评论
5902 浏览 21 评论
881浏览 4评论
1257浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
525浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1241浏览 3评论
1296浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-27 12:20 , Processed in 1.101285 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号