恭喜,你发布的帖子
发布于 2019-07-26 12:53:43
6楼
程序执行过程VD412包含VD8开始的100个数据总和?在第一个30MS的之前,VD412的数据绝对是0(只要之前里面没有保存数据),因为它是隔30MS,才加一次采集进来的数据,不可能一开始就加了100个数据的。当第一个30MS到的时候,VD412的数据是第一次采集进来的数据,第2个30MS到的时候,VD412里面的数据是第一次采集进来的加上第2次采集进来的数据总和,依次类推。在第100个30MS的时候,VD412里面的数据才是前面100个数据的总和。还有程序不能把前100个数据的和保持输出,只能保持30MS。第101个30MS到的时候,VD412里面的数据更新为前面101个数据的总和。因为程序一直在采集数据,只是把VD8开始的100个存储区里面的数据在更新,当采集到101个数据时,这个数据在从头开始存储在VD8,然后依次往下。程序没有对V区里面的数据作运算,只是存储,更新。所以对于中断服务程序第一步一开始就减去一个数据表示不理解,我觉得可以直接删除第一步,还有一开始减去的那个数的数据来源是哪里?请对上诉疑问做解答,谢谢。
我来说说你的理解:程序一开始VD412就包含100个数据的总和,但是此时这100个数据里面可能有干扰值(不是我们想要的输入的准确值,程序原来里面有的,没有做清空),此时采集一个数据,我们就先把这个存储区对应得错误数据删除,然后更新为正确值。然后更新100次之后,就是我们想要的100个数据的总和。程序的执行只是在不断的修正数据。还有减去的数据要不影响采集的数据的求和啊。
我感觉你的想法是天方夜谈,完全的瞎扯淡。你就没认真看程序。
请填写推广理由:
分享
只看
楼主