|
/*********************************/
/* Moving average (N=1, .... 10) */
/*********************************/
#include "stdio.h"
#define MAX_N 10
float xn[MAX_N]; /* input buffer */
void main()
{
float sum;
short k, N, yn;
int pos; /* position of slider */
// InitDSK(cach_bk4); /* Initialize DSK */
for (k=0; k<MAX_N; k++) /* clear buffer */
xn[k] = 0;
pos = 1; /* no averaging */
while(1) /* Endless loop */
{
N = pos;
// xn[0] = McBSP0ReadRdy(); /* input */
sum = 0.0;
for (k=0; k<N; k++) sum = sum + xn[k];
yn = (short)(sum/N);
yn = yn & 0xFFFE;
for (k=N-1; k>0; k--) xn[k] = xn[k-1];
// McBSP0Write(yn); /* output */
}
}
이건 원래 DSP에서 사용되는 C언어인데요 이걸 C++에서 구동하고 싶어요 근데 입력값이랑 출력값이
본래 DPS그로그램화 되있어서 어떻게 수정해야 할지 모르겟어요 일반적으로 그냥 input쪽이랑 output쪽 scanf나 printf 할려고 했는데 원하는 결과가 안나오는거 같아서요
이 프로그램은 이동평균 구하는건데.. C++에서 이 형태 조금 유지해서 변환하는법 없을까요?
|