MPU6050库函数中DMP_Init中NVIC_SystemReset函数无法跳转到定义处

MPU6050库函数中DMP_Init中NVIC_SystemReset函数无法跳转到定义处

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    针对问题中提到的NVIC_SystemReset函数无法跳转到定义处的情况,可以尝试以下几个解决方案:

    1. 检查是否包含了正确的头文件:NVIC_SystemReset函数属于CMSIS核心头文件中的一部分,所以需要确保正确包含了该头文件。在代码文件开头添加如下代码:

    c++ #include "stm32f4xx.h" //这里的具体路径根据你的MCU型号和芯片厂商有所不同

    1. 检查是否重复定义了NVIC_SystemReset函数:如果你在代码中自己写了NVIC_SystemReset函数,或者在已有的库文件中定义了该函数,那么可能会和CMSIS库中的函数产生冲突,导致编译器无法正确识别该函数。应该把自己写的函数重命名或者删掉,确保只有CMSIS库中的NVIC_SystemReset函数。

    2. 检查是否正确配置了系统时钟:NVIC_SystemReset函数是用来重置MCU的时钟和寄存器状态的,所以如果系统时钟配置不正确,可能会影响NVIC_SystemReset函数的执行。可以使用STM32CubeMX或者手动配置RCC寄存器来确保系统时钟的正确性。

    3. 检查是否正确配置了中断向量表:NVIC_SystemReset函数需要从中断向量表中获取重启向量地址,如果中断向量表没有被正确配置,就可能导致NVIC_SystemReset函数无法正常工作。可以使用STM32CubeMX或者手动配置SCB_VTOR寄存器来确保中断向量表的正确性。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^