/*
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);
}