我有来自传感器的数据,它为我提供了每个时钟周期 2 种火车(小型和大型)的距离。我想记录测量距离的次数,然后将这个值存储在一个数组中,然后对这个数组进行排序,找出有多少大火车和小火车经过。
例如,我将从传感器那里收到火车 1 的值(500,500,500,500,500、502、523、500、500)。因为火车距离传感器 500 毫米,持续 10 个时钟滴答。而对于火车 2(小型火车)(500、500、500),因为火车经过传感器 3 个时钟滴答声。
通过知道我得到了多少传感器脉冲,我可以确定火车的长度。
但是我怎样才能正确排序呢?火车的脉冲不相等
即一列大火车可能有 10 个值或 11 个值。
这是我以下尝试存储滴答计数。哪个不起作用,我无法对此进行排序。
int i=0;
int counter=0;
int train[6];
if(adc_result > 5)
{
counter++;
}
train[i] = counter;
sprintf(result, "%d", train[i]);
USARTWriteChar(result);
USARTWriteChar("\r\n");
i++;