參數(shù)資料
型號: 101-0452
廠商: Rabbit Semiconductor
文件頁數(shù): 21/100頁
文件大小: 0K
描述: KIT DEV RABBIT RCM2100 INTL
標(biāo)準(zhǔn)包裝: 1
系列: RabbitCore 2000
主要目的: *
嵌入式: *
已用 IC / 零件: HYDRA
主要屬性: *
次要屬性: *
已供物品: HYDRA 裝置,存儲卡,空白試驗卡,鼠標(biāo),鍵盤,游戲鍵盤,視頻和 USB 線纜,電源和 CD 等
User’s Manual
21
tion of how Dynamic C handles multitasking with costatements and cofunctions, see
Chapter 5, “Multitasking with Dynamic C,” and Chapter 6, “The Virtual Driver,” in the
Dynamic C User’s Manual.
3.1.4.3 TOGGLELED.C
One of Dynamic C’s unique and powerful aspects is its ability to efficiently multitask
using cofunctions and costatements. This simple application demonstrates how these pro-
gram elements work.
This sample program uses two costatements to set up and manage the two tasks. Costate-
ments must be contained in a loop that will “tap” each of them at regular intervals. This
program:
1. Initializes the pins of Port A as outputs.
2. Sets all the pins of Port A high, turning off the attached LEDs.
3. Sets the toggled LED status variable vswitch to 0 (LED off).
4. Starts an endless loop using a while(1) expression, and within that loop:
Executes a costatement that flashes LED DS3;
Executes a costatement that checks the state of switch S2 and toggles the state of
vswitch
if it is pressed;
Turns LED DS2 on or off, according to the state of vswitch.
These steps repeat as long as the program is allowed to run.
The first costatement is a compressed version of FLASHLED.c, with slightly different
flash timing. It also uses the library function DelayMs() to deliver more accurate timing
than the simple delay loops of the previous program.
The second costatement does more than check the status of S2. Switch contacts often
“bounce” open and closed several times when the switch is actuated, and each bounce can
be interpreted by fast digital logic as an independent press. To clean up this input, the code
in the second costatement “debounces” the switch signal by waiting 50 milliseconds and
checking the state of the switch again. If it is detected as being closed both times, the pro-
gram considers it a valid switch press and toggles vswitch.
Unlike most C statements, the two costatements are not executed in their entirety on each
iteration of the while(1) loop. Instead, the list of statements within each costatement is
initiated on the first loop, and then executed one “slice” at a time on each successive inter-
ation. This mode of operation is known as a state machine, a powerful concept that per-
mits a single processor to efficiently handle a number of independent tasks.
The ability of Dynamic C to manage state machine programs enables you to create very
powerful and efficient embedded systems with much greater ease than other programming
methods.
More Information
See the entries for the DelayMs() function, as well as Section 5, “Multitasking with
Dynamic C,” in the Dynamic C User’s Manual.
相關(guān)PDF資料
PDF描述
VE-J7X-EZ-F1 CONVERTER MOD DC/DC 5.2V 25W
EVAL-ADF4360-8EBZ1 BOARD EVALUATION FOR ADF4360-8
VE-J7X-EY-S CONVERTER MOD DC/DC 5.2V 50W
MCP73213-B6SI/MF IC LI-ION/LI-POLY CTRLR 10-DFN
VE-J7W-EZ-F4 CONVERTER MOD DC/DC 5.5V 25W
相關(guān)代理商/技術(shù)參數(shù)
參數(shù)描述
10-104520-08P 制造商:Amphenol Aerospace 功能描述:PLUG
10-104520-08S 制造商:Amphenol Aerospace 功能描述:PLUG
10-104520-16P 制造商:Amphenol Aerospace 功能描述:PLUG
10-104520-16S 制造商:Amphenol Aerospace 功能描述:PLUG
10-104520-25S 制造商:Amphenol Aerospace 功能描述:PLUG