📄 ledprd.c
字号:
/*
* 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
* select Properties to view its settings.
*/
void blinkLED0()
{
/* Toggle LED #0 */
DSK6713_LED_toggle(0);
/* Check DIP switch #3 and light LED #3 accordingly, 0 = switch pressed */
if (DSK6713_DIP_get(3) == 0)
/* Switch pressed, turn LED #3 on */
DSK6713_LED_on(3);
else
/* Switch pressed, turn LED #3 off */
DSK6713_LED_off(3);
}
/*
* 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();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -