陈大灯埃塞烟铛 发表于 2023-7-26 21:07:12

大佬们,求助一下MPU6050俯仰角用printf串口打印出现-INF是什么情况

大佬们好,这边求助一下,我最近学习了STC32G单片机,
想着用32G单片机做平衡小车,然后要用到MPU6050获取车身姿态,
我又很菜写不出姿态解算的代码,
就从官网上把STC32四轴飞控的四元数解算代码抄了过来,
把解算好的俯仰角和翻滚角用printf打印出来发现刚开始一段时间
数据正常,之后就会一直显示-INF
{:4_164:}。


就是这样
{:4_167:}




而且没有规律,有时候能打印出数据,有时候一上电打印就是-INF


这个是我抄过来的代码



这是官方的





想不通为什么刚开始数据正常后面就会一直显示—INF
我反复对了几遍应该没有哪里落下了,啊!啊!啊!大佬们救救孩子吧!{:cry:}


这是我的屎山代码{:smile:}大佬们帮忙看看哪里有问题!

这是官方的四轴飞控代码



顺便问一下,官网的代码中定义变量会用到edata这是有什么作用啊?

{:4_201:}


乘风飞扬 发表于 2023-7-27 15:40:19

使用 printf 打印浮点数内容,显示 -INF 确实比较奇怪,这种时候用hex模式看看打印的实际内容是什么。

定义变量时增加 edata 关键字是将这个变量定义到 edata 区域。

keil的 Memory Model 设置为XSmall模式时,定义变量默认就是放在edata区域,不写edata关键字可以达到同样的效果。

详情参考规格书说明:


陈大灯埃塞烟铛 发表于 2023-8-2 21:49:32

happyday7813 发表于 2023-9-2 11:45:07

哥们问题解决了吗?我也遇到相类的问题

Hssa 发表于 2024-9-13 15:20:00

你好,我想要一份你调整好后的源码,可以发一份吗,谢谢
页: [1]
查看完整版本: 大佬们,求助一下MPU6050俯仰角用printf串口打印出现-INF是什么情况