[STM8] STM8L 外部中断问题

[复制链接]
10542|12
 楼主| hshanhui 发表于 2013-9-27 09:30 | 显示全部楼层 |阅读模式
STM8L152,开启中断线0,上升沿或下降沿触发中断,PA0口与PB0口设为上拉输入带中断。

问题来了,PA0或PB0任何一个接低电平,另一个都不能触发中断。
如果PA0或PB0都不接低电平,另一个上升沿和下降沿都能触发中断。
feilusia 发表于 2013-9-27 09:38 | 显示全部楼层
没看到你的问题在哪里,全都是“。”,好歹你加一句“怎么回事?”。
“如果PA0或PB0都不接低电平,另一个上升沿和下降沿都能触发中断。”你这句话我没看懂,你前半句用“或”加“都”,我不知道是单个不接低电平还是两个都不接低电平。但看你后半句的“另一个”,
所以你想说的意思是“如果PA0或PB0不接低电平,另一个上升沿和下降沿则能触发中断。”?
测测是不是两个引脚连在一起了。
xxiao6130 发表于 2013-9-27 10:25 | 显示全部楼层
PA0或PB0任何一个接低电平,是不会影响另一个触发中断的,看看是不是其他原因。
 楼主| hshanhui 发表于 2013-9-28 20:30 来自手机 | 显示全部楼层
xxiao6130 发表于 2013-9-27 10:25
PA0或PB0任何一个接低电平,是不会影响另一个触发中断的,看看是不是其他原因。 ...

假如pa0开中断不接低电平,PB0能进中断。
如果pa0开中断接低电平,pB0就无法进中断。
这是什么原因?
xxiao6130 发表于 2013-9-29 08:28 | 显示全部楼层
中断触发方式要设置一下,设为上升沿和下降沿触发,单片机默认的是下降沿和低电平触发,看一下你EXTI_CR1的设置好了没?EXTI_CR1应该等于0x0c。
xxiao6130 发表于 2013-9-29 08:32 | 显示全部楼层
hshanhui 发表于 2013-9-28 20:30
假如pa0开中断不接低电平,PB0能进中断。
如果pa0开中断接低电平,pB0就无法进中断。
这是什么原因? ...

中断触发方式要设置一下,设为上升沿和下降沿触发,单片机默认的是下降沿和低电平触发,看一下你EXTI_CR1的设置好了没?EXTI_CR1应该等于0x0c。
 楼主| hshanhui 发表于 2013-9-29 12:21 | 显示全部楼层
本帖最后由 hshanhui 于 2013-9-29 12:23 编辑
xxiao6130 发表于 2013-9-29 08:28
中断触发方式要设置一下,设为上升沿和下降沿触发,单片机默认的是下降沿和低电平触发,看一下你EXTI_CR1的 ...


我还是上代码吧,主函数的

        EXTI->CONF1=0x20;
        GPIO_Init(GPIOE,GPIO_Pin_7,GPIO_Mode_In_PU_IT);//k5
        GPIO_Init(GPIOE,GPIO_Pin_6,GPIO_Mode_In_PU_IT);//k6
        EXTI_SetPortSensitivity(EXTI_Port_E,EXTI_Trigger_Rising_Falling);
        ITC_SetSoftwarePriority(EXTIE_F_PVD_IRQn, ITC_PriorityLevel_0);

       GPIO_Init(GPIOG,GPIO_Pin_6,GPIO_Mode_Out_PP_Low_Slow);
       enableInterrupts();  


中断文件:

INTERRUPT_HANDLER(EXTIE_F_PVD_IRQHandler,5)
{
     sim()
     delay_ms(20);   
     GPIO_ToggleBits (GPIOG,GPIO_Pin_6);//中断内翻转PG6
     EXTI_ClearITPendingBit(EXTI_IT_PortE);  
    rim()
}


xxiao6130 发表于 2013-9-29 14:43 | 显示全部楼层
你还是在线调试一下看看,是总在进中断还是根本就不进中断。
 楼主| hshanhui 发表于 2013-9-29 19:46 来自手机 | 显示全部楼层
xxiao6130 发表于 2013-9-29 14:43
你还是在线调试一下看看,是总在进中断还是根本就不进中断。

早在线调试过了,一个接低电平,另一个跟本就不进中断。

看来大家都没有遇到过这种情况。
wangdezhi 发表于 2013-9-29 20:14 | 显示全部楼层
外部中断只能用在其中一个口上吧?
xxiao6130 发表于 2013-9-30 10:31 | 显示全部楼层
你有STM8L152中文用户手册不?上传一份让我看看。
xxiao6130 发表于 2013-9-30 10:35 | 显示全部楼层
wangdezhi 发表于 2013-9-29 20:14
外部中断只能用在其中一个口上吧?

PA、PB它们应该有各自的中断向量的,也应该有两个中断函数的(PS:我用的是stm8s单片机就是这样的,不知这个单片机与你用的那个有多大的区别)。
SMEC98SP 发表于 2018-7-25 13:41 | 显示全部楼层
好像是有这个问题

PG4,PG5接下拉电阻,按键接VCC,设计成上升沿中断。
PORT G 配置成端口中断,现在的问题是:
只配置PG4,按钮按下都可以进入中断,
只配置PG5,按钮按下也可以进入中断;
但是同时配置PG4 PG5,2个按钮按下都不能进入中断,感觉只能设置一个中断,不知为什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部