/*
256 --------------> 360
x --------------> 90
----------------------
x=90*256/360=256/4=N/4
*/
#define N 256 // N=2^8, 8 bits
#define Phi N/2 // 90*356/360
#define pi 3.1415926535897932384626433832795
#define f0 1.00
unsigned int i_sin=0,i_cos, i;
double sin_x, SinCos[N];
void setup()
{
// Génération du signal sinusoïdal en format 8 bits
for(i=0;i<N;i++)
{
sin_x=sin(2.00*pi*f0*(float)i/((float)N-1.00));
SinCos[i]=0.5*(sin_x+1.00)*(N-1.00); //[-1,1]=> [0,2^8-1]
}
// Initialisation du port série - Affichage des signaux
Serial.begin(9600);
// Init indices des tableaux
i_sin=0;
i_cos=Phi;
}
void loop()
{
// Affichage du signal sinus
Serial.print( SinCos[i_sin]);
Serial.print(",");
// Affichage du signal cosinus
Serial.println( SinCos[i_cos]);
// Mise à jour des indices
i_sin++; i_sin=i_sin%(N-1);
i_cos++; i_cos=i_cos%(N-1);
}