本帖最后由 爱因福尔 于 2017-1-6 14:41 编辑
遇到一个特别奇怪的问题,单片机用的STM32F411 用了一个MPU9250的九轴传感器,用的是原子的mpl库。
之前是裸奔的也没发现什么问题,后来上了freertos 发现会死在HardFault_Handler里,开始以为是堆栈问题,
将设大
Stack_Size EQU 0xF000
Heap_Size EQU 0xF000
还是不行,以为Freertos有bug,就换了个ucosII结果还是一样,
最终问题定位到
然后有查看inv_build_compass(compass,0,sensor_timestamp); 里面有什么
源代码如下
最后发现居然是 一个赋值表达是 sensors.compass.status |= INV_NEW_DATA | INV_SENSOR_ON; 导致的,
在深入研究发现是 INV_NEW_DATA注释掉就好了。也就是
sensors.compass.status |= INV_SENSOR_ON; 是不会死的。
真是太无语了。虽然找到了问题,但是没有找到解决方法。
哪位遇到过。望提点一二。不胜感激。
一周热门 更多>