STM32
直播中

张丽

8年用户 1581经验值
私信 关注
[问答]

STM32F107的OTG在stop模式下无法通过EXTI_18唤醒,没有中断产生是怎么回事?

作为device,想验证EXti_18的中断,配置好EXTI初始化,但只有在enable suspend int后,在插拔USB线缆时才会进OTG_FS_WKUP_IRQHandler,如果配置设备进入STOP模式等wfi中断唤醒,无论如何操作都没法进入OTG_FS_WKUP_IRQHandler唤醒,有使用过该功能的吗?
另外F103上该功能能唤醒,F107是OTG  IP,没有进中断

回帖(1)

人走了

2024-5-6 17:03:07
在STM32F107的OTG中,如果在STOP模式下无法通过EXTI_18唤醒,并且没有中断产生,可能有以下几个原因:

1. 配置问题:请确保您已经正确配置了OTG和EXTI。在初始化EXTI时,需要设置正确的触发条件(例如,上升沿、下降沿或两者),并启用EXTI中断。

2. 唤醒源:确保您已经将OTG_FS_WKUP作为唤醒源。在HAL库中,您可以使用`HAL_PWR_ConfigPWRMode()`函数来配置唤醒源。

3. 中断使能:确保您已经使能了OTG_FS_WKUP中断。在HAL库中,您可以使用`HAL_NVIC_EnableIRQ()`函数来使能中断。

4. 低功耗模式:在STOP模式下,某些外设可能会被禁用。确保OTG_FS和EXTI_18在STOP模式下仍然可以正常工作。

5. 硬件问题:检查您的硬件连接,确保USB线缆和OTG_FS接口之间没有连接问题。

6. 软件问题:检查您的中断服务例程(ISR)是否正确处理了OTG_FS_WKUP中断。在HAL库中,您可以使用`HAL_GPIO_EXTI_Callback()`函数来处理EXTI中断。

关于您提到的F103和F107的问题,虽然它们都是STM32系列的微控制器,但它们之间可能存在一些差异。F103和F107的OTG IP可能有所不同,这可能导致在F107上无法正常唤醒。建议您查阅STM32F107的参考手册,了解其OTG和EXTI的详细配置和操作。

总之,要解决这个问题,您需要检查配置、唤醒源、中断使能、低功耗模式、硬件连接和软件处理等方面的设置。希望这些建议对您有所帮助。
举报

更多回帖

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