stm32很奇怪的问题

2019-03-23 18:59发布

我在做一个数据处理的问题,程序基本可以了,但是加入一个滤波函数f1()的调用后,数据就全乱了,之后把这个函数调用改成紧紧只是调用,不对数据对象进行任何操作,数据任然是乱的,但是一去掉这段调用,数据就正常了,不知道是怎么回事。大概是下面这样的情况,麻烦大师帮忙看看
func()
{
....
a = f1(100);
a = f2(b);
....
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
zhaojun_xf
1楼-- · 2019-03-23 23:43
/ 实在没有看懂是什么意思,好好看看是不是堆栈问题或全局变量不对,仿真一下应该能找到原因。
newsa111
2楼-- · 2019-03-24 01:35
zhaojun_xf 发表于 2014-3-12 16:47
实在没有看懂是什么意思,好好看看是不是堆栈问题或全局变量不对,仿真一下应该能找到原因。

我这个是处理数据的,a是连续输出的,就是说不加a = f1(100);这段,a 出来的数据是正常的,如果加了这段代码,出来的数据就不正常了,我也考虑到了堆栈,但是加大了堆栈,也还是不行,我用的是stm32f407的,程序本身内存消耗就几十k左右
zhaojun_xf
3楼-- · 2019-03-24 06:30
 精彩回答 2  元偷偷看……
zqjqq88
4楼-- · 2019-03-24 11:48
1. 看滤波函数是否确实没有处理数据;
2. 看滤波这一段是不是耗费了太多时间,虽然不改变数据本身,但是时间占用导致循环的时候数据错误。
shower.xu
5楼-- · 2019-03-24 14:19
最好的办法就是仿真,或者用排除法,把那个函数调用从空函数开始,一句句加上去,看到那一部分出了问题。我感觉会是参数指针之类的问题吧
Hugo801122
6楼-- · 2019-03-24 17:18
 精彩回答 2  元偷偷看……

一周热门 更多>