可能是由于STM32L051的唤醒中断和时间戳中断共用了某些硬件资源,导致二者同时开启时产生冲突。解决方法可以尝试以下几种方式:
1. 调整引脚的配置:
- 确保PB8和PC13的引脚配置正确,比如配置为输入模式、上拉/下拉等;
- 确保PB8没有被用作唤醒中断的触发引脚,否则会与时间戳中断冲突。
2. 将两个中断的优先级进行适当调整:
- 确保时间戳中断的优先级高于唤醒中断,可以通过NVIC_SetPriority函数来设置。
3. 重新评估需求:
- 如果使用唤醒中断已经满足需求,考虑不开启时间戳中断;
- 如果时间戳中断很重要,考虑不使用唤醒中断或换用其他引脚作为唤醒中断触发引脚。
4. 找出具体原因:
- 考虑将程序中只开启时间戳和同时开启时间戳和唤醒中断的部分进行对比,查看有无其他差异;
- 可以通过调试和日志来定位具体是哪个配置或中断设置导致了问题。
以上是一些可能的解决方案,具体解决方法还需要根据实际情况和需求综合考虑。
可能是由于STM32L051的唤醒中断和时间戳中断共用了某些硬件资源,导致二者同时开启时产生冲突。解决方法可以尝试以下几种方式:
1. 调整引脚的配置:
- 确保PB8和PC13的引脚配置正确,比如配置为输入模式、上拉/下拉等;
- 确保PB8没有被用作唤醒中断的触发引脚,否则会与时间戳中断冲突。
2. 将两个中断的优先级进行适当调整:
- 确保时间戳中断的优先级高于唤醒中断,可以通过NVIC_SetPriority函数来设置。
3. 重新评估需求:
- 如果使用唤醒中断已经满足需求,考虑不开启时间戳中断;
- 如果时间戳中断很重要,考虑不使用唤醒中断或换用其他引脚作为唤醒中断触发引脚。
4. 找出具体原因:
- 考虑将程序中只开启时间戳和同时开启时间戳和唤醒中断的部分进行对比,查看有无其他差异;
- 可以通过调试和日志来定位具体是哪个配置或中断设置导致了问题。
以上是一些可能的解决方案,具体解决方法还需要根据实际情况和需求综合考虑。
举报