STM32
直播中

学电超人

12年用户 777经验值
擅长:微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制
私信 关注
[问答]

按键KEY1作为外部中断,分别测试上升沿和下降沿,发现触发方式和程序设置的方式对不上是为什么?

按键KEY1作为外部中断,分别测试上升沿和下降沿,发现触发方式和程序设置的方式 对不上?
学习了中断后,想用proteus8.8仿真,结果仿真的时候,LED灯能正常闪烁,按键也能控制LED_G反转,问题是
程序设置的触发方式是:

  EXti_Trigger_Rising = 0x08,                                //上升沿触发

  EXTI_Trigger_Falling = 0x0C,                                  //下降沿触发

  EXTI_Trigger_Rising_Falling = 0x10                        //上升、下降沿都触发


仿真出来的触发方式是:

  EXTI_Trigger_Rising = 0x08,                                //上升、下降沿都触发

  EXTI_Trigger_Falling = 0x0C,                                  //下降沿触发

  EXTI_Trigger_Rising_Falling = 0x10                        //上升沿触发


回帖(1)

李秀兰

2024-4-22 15:51:07
可能有几个原因导致触发方式和程序设置的方式对不上:

1. 程序设置错误:请确保在程序中正确设置了外部中断触发方式。例如,在STM32的标准外部中断库中,可以使用EXTI_Init函数设置中断触发方式。确保你在代码中使用了正确的参数。

2. 仿真工具不支持某些触发方式:有些仿真工具可能对某些触发方式的支持不完整或有限。在PROTEUS8.8中,可能存在某些触发方式无法准确模拟的情况。可以尝试使用其他仿真工具或硬件平台进行验证。

3. 外部硬件连线问题:检查你的外部硬件是否正确连接。确保按键和STM32的引脚正确连接,并且按下按键时能够产生预期的信号。

4. 外部硬件电气特性不匹配:不同的按键可能具有不同的电气特性,如上升时间和下降时间等。如果外部硬件的电气特性与STM32的输入引脚电气特性不匹配,可能导致触发方式和预期不一样。可以将按键的电气特性和STM32的输入引脚电气特性进行匹配。

总之,要解决该问题,需要仔细检查程序设置和硬件连接,并确保它们是一致的。如果问题仍然存在,可能需要进一步调试和验证。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分