1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| //Sine8_LED.c génération dune fonction Sinus les switch de contrôle DIP
#include "dsk6713_aic23.h" //fichier entête pour le codec,DSK
short loop = 0; //indice de la table
short gain = 10; //facteur de gain
//valeurs de la sinusoïde
short sine_table[16]={0,259,707,966,1000,966,707,-259,0,-259,-707,-966,-1000,-966,-707,-259};
void main()
{
comm_poll(); //initialisation de la DSK, du codec, et du McBSP
DSK6713_LED_init(); //initialisation des LED à partir de BSL
DSK6713_DIP_init(); //initialisation des switch DIP à partir de BSL
// BSL : Board Support Library (fonctions incluses dans CCS
// sous forme de librairies dsk6713bsl.lib
Uint32 fs;
while(1) //boucle infinie
{
if(DSK6713_DIP_get(0)==0) //=0 si le switch #0 est enfoncé
{ // pour la génération dune fonction Sinus de 1 KHz
DSK6713_LED_on(0); //la LED #0 et à létat ON (allumée)
fs = DSK6713_AIC23_FREQ_16KHZ; //fixe la fréquence déchantillonnage a 8KHz
output_sample(sine_table[loop]*gain); //output chaque Ts (SW0 on)
(++loop > 15) loop = 0; //vérification de fin de table
}
else DSK6713_LED_off(0);
if(DSK6713_DIP_get(1)==0) //=0 si le switch #1 est enfoncé
{ //pour génération dune fonction Sinus de 1.5 KHz
DSK6713_LED_on(1); //la LED #1 et à létat ON (allumée)
fs = DSK6713_AIC23_FREQ_24KHZ; //fixe la fréquence déchantillonnage a 12KHz
output_sample(sine_table[loop]*gain); //output chaque Ts (SW1 on)
(++loop > 15) loop = 0; //vérification de fin de table
}
else DSK6713_LED_off(1);
if(DSK6713_DIP_get(2)==0) //=0 si le switch #2 est enfoncé
{ //pour génération dune fonction Sinus de 1.5 KHz
DSK6713_LED_on(2); //la LED #2 et à létat ON (allumée)
fs = DSK6713_AIC23_FREQ_32KHZ; //fixe la fréquence déchantillonnage a 2KHz
output_sample(sine_table[loop]*gain); //output chaque Ts (SW2 on)
(++loop > 15) loop = 0; //vérification de fin de table
}
else DSK6713_LED_off(2);
} //fin de la boucle while(1)
} //end of main |
Partager