关于软件数字滤波的疑问

2019-07-16 02:18发布

times New Roman">我用单片机采集热电偶温度,由于采集到的数据不稳定,就编写了一个中位值平均滤波程序,程序如下,但在KEIL C 51中编译不能生成HEX文件,提示“Target not created”,如果不加入该滤波程序,编译正常,求高手指点。

if(readtempflag==1)               //
計時器中斷到
  {  readtempflag=0;                  // 計時器標誌清0   tempnum[number]=readtemp();     //  讀取1个溫度數據//*對一維數組tempnum[10]排序*//        for(j=0;j<9;j++)                         for(k=0;k<9-j;k++)                      {          if(tempnum[k]>tempnum[k+1])          {           count=tempnum[k];           tempnum[k]=tempnum[k+1];           tempnum[k+1]=tempnum[k];           }          }//*選取排好序的數組中的中間6個值求平均*//         for(n=2;n<8;n++)         {          sum=sum+tempnum[n];          sum=sum/(n-1);          }        number++;   if(number==10)  {   number=0;   }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
popeye0451
1楼-- · 2019-07-17 02:39
624542931 发表于 2013-3-5 09:46
是这样的;
但是采样10次再滤波温度就会出现跳变啊,我需要每次采集一个数据放在队尾,把队首的温度丢掉 ...

你贴的程序是放在主函数中吗?

并且你是用定时中断来确定读取数据的时间,如果每次先读10个值,再滤波,效果应该也差不多吧
popeye0451
2楼-- · 2019-07-17 08:07
624542931 发表于 2013-3-5 09:46
是这样的;
但是采样10次再滤波温度就会出现跳变啊,我需要每次采集一个数据放在队尾,把队首的温度丢掉 ...

没有其他的错误提示吗?只有一个target not created??
popeye0451
3楼-- · 2019-07-17 13:13
 精彩回答 2  元偷偷看……
624542931
4楼-- · 2019-07-17 13:14
popeye0451 发表于 2013-3-5 13:28
没有其他的错误提示吗?只有一个target not created??

谢谢你,我刚刚试出来什么原因了,是由于RAM不足导致的。定义了太多的浮点数。

一周热门 更多>