最近在用STC89C52RC单片机做一个项目,输出mpu6050的原始数据,然后对数据进行滤波和姿态融合。但是才用了一个简单的滤波算法,就已经把单片机内部的512B的RAM用完了。修改了编译器的存储模式后,虽然没有报错,但是访问速度变慢了。输出的数据也不对。这个问题纠结了一天了。到现在还没有解决。现在在考虑是继续探究51系列单片机的内部原理,还是转换内存更大效率更高的处理器?考虑到现在8位单片机面临淘汰的命运,将来会是32位处理器的天下。有点迷茫了。不知道该往哪走。
1 回答
慕容森
TA贡献1853条经验 获得超18个赞
单片机完全不懂,但我以前一个同学搞这玩意(深圳)跟我聊天说到一件事
他们曾经设计过一个功能里面涉及到一些最基本的sin cos这些操作(具体是不是不太记得了,搞不好需要用上大学的一些公式),他们设计出来的玩意成本比一个日本人设计出来的就是要高或者要慢,而最终东西成本就是这样一点点的抠出来的,所以我那同学就被负责去搞清楚对方怎么搞的(不然自己的东西贵了没人买),中间细节就不说了,最后反正知道了办法,而办法说出来可能很蠢:
那日本人根本就没用什么公式,他是直接对每个角度都计算出结果后把角度和结果直接丢数组塞进去了,这样当然要比正统做法要快(精度需求已经满足),成本当然要低。
说这个事只是想告诉你达到一个目标不一定只有一条路,虽然升级硬件是立竿见影,这种过程往往更适合互联网公司(硬件投入往往比程序调整更划算)。而你这种做更底层的东西节约1分钱最后的结果往往相差很大(比如别人就可能选择更便宜同样满足要求的东西而不是你的了)。所以我感觉你不要考虑放弃,苛刻的环境反而更能体现人的能力
- 1 回答
- 0 关注
- 765 浏览
添加回答
举报
0/150
提交
取消