STM32
直播中

刘满贵

7年用户 1450经验值
私信 关注
[问答]

STM32L051同时开启RTC时间戳和秒唤醒后,使用GPIO引脚无法触发时间戳中断如何解决?

STM32L051同时开启RTC时间戳和秒唤醒后,使用GPIO引脚无法触发时间戳中断。但使用一个3.3V的电源接到PC13能够触发RTC时间戳。
我将PB8和PC13相连,PB8特定情况下会输出脉冲。
程序中只开启RTC时间戳时,PB8能够正常触发时间戳中断,但开启唤醒中断后,却无法正常触发了。同时开启的情况下,我用电源的3.3v接PC13能够进入时间戳中断。
请问该如何解决?

回帖(2)

成尔秩

2024-4-1 15:08:44
我查看了相关手册,看到的是如果要激发时间戳时间,只能靠tamper事件或特定时间戳输入脚,这里的特定输入脚就是PC13,你如何通过非特定脚去激发时间戳事件呢?这个地方你不妨再确认下。
举报

王桂兰

2024-4-1 16:57:33
可能是由于STM32L051的唤醒中断和时间戳中断共用了某些硬件资源,导致二者同时开启时产生冲突。解决方法可以尝试以下几种方式:

1. 调整引脚的配置:
   - 确保PB8和PC13的引脚配置正确,比如配置为输入模式、上拉/下拉等;
   - 确保PB8没有被用作唤醒中断的触发引脚,否则会与时间戳中断冲突。

2. 将两个中断的优先级进行适当调整:
   - 确保时间戳中断的优先级高于唤醒中断,可以通过NVIC_SetPriority函数来设置。

3. 重新评估需求:
   - 如果使用唤醒中断已经满足需求,考虑不开启时间戳中断;
   - 如果时间戳中断很重要,考虑不使用唤醒中断或换用其他引脚作为唤醒中断触发引脚。

4. 找出具体原因:
   - 考虑将程序中只开启时间戳和同时开启时间戳和唤醒中断的部分进行对比,查看有无其他差异;
   - 可以通过调试和日志来定位具体是哪个配置或中断设置导致了问题。

以上是一些可能的解决方案,具体解决方法还需要根据实际情况和需求综合考虑。
举报

更多回帖

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