You are on page 1of 4

PROGRAMA 1. Para los leds /* * Copyright 2002 by Spectrum Digital Incorporated. * All rights reserved.

Property of Spectrum Digital Incorporated. */ /* * * * * * * * * * * * * * * * * * * * */ ======== ledprd.c ======== This example blinks LED #0 at a rate of about 4 times per second using the LED module of the the 6713 DSK Board Support Library. The example also reads the state of DIP switch #3 and lights LED #3 if the switch is depressed or turns it off if the switch is not depressed. When the program is run, DSP/BIOS initializes itself and calls the main() function. Main() initializes the BSL then exits and returns control back to DSP/BIOS. The real work is done inside blinkLED0() which is a DSP/BIOS periodic thread that is run every 125ms. A second thread named blinkLED1() is also included that blinks LED #1 asynchronously with blinkLED0() to demonstrate DSP/BIOS multitasking. It is not enabled by default but can be added by creating a new periodic thread entry for it in the DSP/BIOS scheduler. Please see the 6713 DSK help file under Software/Examples for more detailed information.

/* * DSP/BIOS is configured using the DSP/BIOS configuration tool. Settings * for this example are stored in a configuration file called ledprd.cdb. At * compile time, Code Composer will auto-generate DSP/BIOS related files * based on these settings. A header file called ledprdcfg.h contains the * results of the autogeneration and must be included for proper operation. * The name of the file is taken from ledprd.cdb and adding cfg.h. */ #include "ledprdcfg.h" /* * The 6713 DSK Board Support Library is divided into several modules, each * of which has its own include file. The file dsk6713.h must be included * in every program that uses the BSL. This example also includes * dsk6713_led.h and dsk6713_dip.h because it uses the LED and DIP modules. */ #include "dsk6713.h" #include "dsk6713_led.h" #include "dsk6713_dip.h" /* * blinkLED0() - Blink LED #0 and set LED #3 based on the state of DIP switch * #3. If the switch is down, the LED is turned on. If the * switch is up, the LED is turned off. * * blinkLED0 is a periodic thread that is called every 200ms * from the DSP/BIOS scheduler. It is configured in the * DSP/BIOS configuration file (ledprd.cdb) under Scheduling * --> PRD --> PRD_blinkLED0. Right click PRD_blinkLED0 and

* */ void blinkLED0() {

select Properties to view its settings.

/* Toggle LED #0 */ DSK6713_LED_toggle(0); if (DSK6713_DIP_get(3)==0) DSK6713_LED_on(3); else DSK6713_LED_off(3); //toggle funcion para parpadear led// /* Check DIP switch #3 and light LED #3 accordingly, 0 = switch pressed */ } /* * blinkLED1() - Blink LED #1. * * blinkLED1 is a periodic thread that can be called from the * DSP/BIOS scheduler. By default, it is not active. To make * it active, create a new PRD entry called PRD_blinkLED1 in * the DSP/BIOS configuration file (ledprd.cdb) under * Scheduling --> PRD. Right click PRD_blinkLED1 and select * properties to configure it. Change the function field to * _blinkLED1 and the period field to 100 to make blinkLED1() */ void blinkLED1() { /*toggle led # 1*/ DSK6713_LED_toggle(1); } /* * main() - Initialize BSL then drop into DSP/BIOS idle loop */ void main() { /* Initialize the board support library, must be first BSL call */ DSK6713_init(); /* Initialize the LED and DIP switch modules of the BSL */ DSK6713_LED_init(); DSK6713_DIP_init(); } /* * main() - Initialize BSL then drop into DSP/BIOS idle loop */ void main() { /* Initialize the board support library, must be first BSL call */ DSK6713_init();

/* Initialize the LED and DIP switch modules of the BSL */ DSK6713_LED_init(); DSK6713_DIP_init(); } PROGRAMA 2. Para el tono /* * Copyright 2002 by Spectrum Digital Incorporated. * All rights reserved. Property of Spectrum Digital Incorporated. */ /* * * * * * * * * * * * */ ======== tone.c ======== This example uses the AIC23 codec module of the 6713 DSK Board Support Library to generate a 1KHz sine wave on the audio outputs for 5 seconds. The sine wave data is pre-calculated in an array called sinetable. The codec operates at 48KHz by default. Since the sine wave table has 48 entries per period, each pass through the inner loop takes 1 millisecond. 5000 passes through the inner loop takes 5 seconds. Please see the 6713 DSK help file under Software/Examples for more detailed information.

/* * DSP/BIOS is configured using the DSP/BIOS configuration tool. Settings * for this example are stored in a configuration file called tone.cdb. At * compile time, Code Composer will auto-generate DSP/BIOS related files * based on these settings. A header file called tonecfg.h contains the * results of the autogeneration and must be included for proper operation. * The name of the file is taken from tone.cdb and adding cfg.h. */ #include "tonecfg.h" /* * The 6713 DSK Board Support Library is divided into several modules, each * of which has its own include file. The file dsk6713.h must be included * in every program that uses the BSL. This example also includes * dsk6713_aic23.h because it uses the AIC23 codec module. */ #include "dsk6713.h" #include "dsk6713_aic23.h" /* Length of sine wave table */ #define SINE_TABLE_SIZE 48 /* Codec configuration settings */ DSK6713_AIC23_Config config = { 0x0017, // 0 DSK6713_AIC23_LEFTINVOL 0x0017, // 1 DSK6713_AIC23_RIGHTINVOL 0x00d8, // 2 DSK6713_AIC23_LEFTHPVOL 0x00d8, // 3 DSK6713_AIC23_RIGHTHPVOL 0x0011, // 4 DSK6713_AIC23_ANAPATH 0x0000, // 5 DSK6713_AIC23_DIGPATH 0x0000, // 6 DSK6713_AIC23_POWERDOWN

Left line input channel volume Right line input channel volume Left channel headphone volume Right channel headphone volume Analog audio path control Digital audio path control Power down control

0x0043, // 7 DSK6713_AIC23_DIGIF Digital audio interface format 0x0001, // 8 DSK6713_AIC23_SAMPLERATE Sample rate control 0x0001 // 9 DSK6713_AIC23_DIGACT Digital interface activation }; /* Pre-generated sine wave data, 16-bit signed samples */ Int16 sinetable[SINE_TABLE_SIZE] = { 0x0000, 0x10b4, 0x2120, 0x30fb, 0x3fff, 0x4dea, 0x5a81, 0x6ed8, 0x763f, 0x7ba1, 0x7ee5, 0x7ffd, 0x7ee5, 0x7ba1, 0x6ed8, 0x658b, 0x5a81, 0x4dea, 0x3fff, 0x30fb, 0x2120, 0x0000, 0xef4c, 0xdee0, 0xcf06, 0xc002, 0xb216, 0xa57f, 0x9128, 0x89c1, 0x845f, 0x811b, 0x8002, 0x811b, 0x845f, 0x9128, 0x9a76, 0xa57f, 0xb216, 0xc002, 0xcf06, 0xdee0, };

0x658b, 0x76ef, 0x10b4, 0x9a75, 0x89c1, 0xef4c

/* * main() - Main code routine, initializes BSL and generates tone */ void main() { DSK6713_AIC23_CodecHandle hCodec; Int16 msec, sample; /* Initialize the board support library, must be called first */ DSK6713_init(); /* Start the codec */ hCodec = DSK6713_AIC23_openCodec(0, &config); /* Generate a 1KHz sine wave for 5 seconds */ for (msec = 0; msec < 5000; msec++) { for (sample = 0; sample < SINE_TABLE_SIZE; sample++) { /* Send a sample to the left channel */ while (!DSK6713_AIC23_write(hCodec, sinetable[sample])); /* Send a sample to the right channel */ while (!DSK6713_AIC23_write(hCodec, sinetable[sample])); } } /* Close the codec */ DSK6713_AIC23_closeCodec(hCodec); }

You might also like