打印
[PIC®/AVR®/dsPIC®产品]

PIC1845K80数组求平均值的问题

[复制链接]
1912|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
        if(flag_pinjun)
        {
                flag_pinjun=0;
                AVER_X=0;
                AVER_X=(Xin[0]+Xin[1]+Xin[2]+Xin[3]+Xin[4]+Xin[5]+Xin[6]+Xin[7])>>3;


        }


        if(flag_pinjun2)
        {
                flag_pinjun2=0;
                AVER_Y=0;
                AVER_Y=(Yin[0]+Yin[1]+Yin[2]+Yin[3]+Yin[4]+Yin[5]+Yin[6]+Yin[7])>>3;


        }



求2个数据的平均值,每个数组的取值是正确的,但只要求和,包括2个数组数据。计算结果就会出错,求大神指导,跪谢~~


上图为相关数据的计算结果
沙发
dgdz2c| | 2013-8-1 16:42 | 只看该作者
楼主,我有试一组求和,没有问题的。
先屏蔽其它代码,关闭中断,试试这个求和;如果对,那就是其它地方的影响;如果不对,那就看看汇编,是否符合这个运算流程。

使用特权

评论回复
板凳
ayb_ice| | 2013-8-5 10:24 | 只看该作者
溢出了

使用特权

评论回复
地板
yewuyi| | 2013-8-5 10:58 | 只看该作者
你要确保Xin或Yin数组求和的值不超过AVER_X或者AVER_Y的所规定的长度。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝