STM32F407由浮点数%f打印乱码牵扯出的栈溢出问题解决
最终定位到是由于局部变量大数组导致的栈溢出问题,进而程序异常导致的printf()函数打印浮点数出现乱码的问题。(1)回到3.1排查1的(4)小尝试,为什么勾选"Use MicroLIB"后就能正常打印浮点数?猜测是由于使用了比较小型的标准库,在调用printf("%f")打印浮点数时,没有访问到出错的位置,运气不错避开了,所以能够正常打印浮点数。(2)实际上,假如经常用到大数组,最好还是用动态内存分配,需要用到时就分配,用完就释放,保证RAM空间是足够使用且安全可控的。
原创
2024-08-16 17:15:19 ·
865 阅读 ·
0 评论