【发布时间】:2018-08-30 12:48:04
【问题描述】:
我有一个包含来自 adc 的数据的数组,对于这个数据,我需要在 sd 卡中每秒保存 10 个周期,以检测我使用过零函数的周期,然后我将一个变量添加到变量中,每次它过零(改变唱)和写一个文件,我有两个问题,第一个是设置定时器每秒发送10个周期的数据。我的第二个问题是我只想发送这 10 个周期的数据,休息一下并继续发送接下来的 10 个周期。 此代码有效,我的问题是如何实现计时,如何在 1 秒内发送 10 个周期?
void zeroCrossing(float* data, float* zerCross, int nx)
{
int i;
int a = 0;
bool sign1, sign2;
memset(zerCross, 0, nx * sizeof(float)); //copies the 0 to the first characters of the string
//pointed to, by argument
for (i = 0; i < nx - 1; i++) {
float b[16]; /* loop over data */
b[i] = data[i];
sign1 = getSign(data[i]);
sign2 = getSign(data[i + 1]);
if (sign1 != sign2) { /* set zero crossing location */
zerCross[i + 1] = 1;
a++;
// break ;
// continue;
if (a == 10) { // 10
break;
}
}
}
//cout << a<<endl;
}
/* get sign of number */
bool getSign(float data)
{
if (data > 0) /* positif data */
return (1);
else /* negatif data */
return (0);
}
【问题讨论】:
-
那么您使用的是什么语言;如果您知道某些代码不相关;不要发布它。
-
问题是什么?
-
所以familiar...
-
正确格式化您的代码,如果您正在使用 C++,请不要使用 C 标签,并描述代码的作用以及应该做什么。
-
您没有提出问题,也没有描述任何错误情况。你只描述你想做什么。你的代码有效吗?如果不是什么部分不工作?正如评论所言,这篇文章的一切都是似曾相识
标签: c++