我的代碼工作很好,並在串行監視器上給出輸出,直到我添加此功能 稱其停止發送到串行!該函數用輸入數組的絕對值填充結果數組。Arduino函數絕對數組?
#define INPUT_SIZE 800
void vabs(double *vec,int vsize,double *result){
int i;
for(i=0 ; i<vsize ; ++i)
result[i] = fabs(vec[i]);
}
double x1[INPUT_SIZE];
int x1size;
double absX1[INPUT_SIZE];
int absX1size;
double Process(int *inputArray,double *qrs){
int i;
// Initialization
for(i=0 ; i<INPUT_SIZE ; ++i)
x1[i] = (double)inputArray[i];
x1size = INPUT_SIZE;
// Cancellation DC drift and normalization
double meanValue = mean(x1,x1size);
minus(x1,x1size,meanValue);
Serial.println(x1[0]);
// vabs(x1,x1size,absX1); // Uncomment this line will cause the problem!
absX1size = x1size;
*qrs = 5;
return 10;
}
的設置&環:
void setup(){
Serial.begin(9600);
delay(1000);
}
void loop(){
// This array contains 800 values
int bArr[]= {59,259,259,250,250,250,83,83,...};
double qrs = 0;
double heartRate = Process(bArr,&qrs);
delay(5000);
}
我使用的Arduino兆(Atmega1280),其中有閃存128 KB SRAM和8 KB。
我懷疑你想'fabs'而不是'abs'。但不管怎樣,你能更具體地說明你的問題嗎?怎麼了? –
aha ,,當我使用這個功能時,串口監視器不會打印任何東西! –
abs - 整數。晶圓廠 - 浮動/雙打 –