used to collect some operations that are helpful to do once on every pass through the loop.
Place the cursor on this function name BigLoopTop() and hit <Ctrl-H> to learn more.
The statement at (3) waits for a time delay, in this case 200 ms. The costatement is being
executed on each pass through the big loop. When a waitfor condition is encountered
the first time, the current value of MS_TIMER is saved and then on each subsequent pass
the saved value is compared to the current value. If a waitfor condition is not encoun-
tered, then a jump is made to the end of the costatement (4), and on the next pass of the
loop, when the execution thread reaches the beginning of the costatement, execution
passes directly to the waitfor statement. Once 200 ms has passed, the statement after the
waitfor is executed. The costatement has the property that it can wait for long periods of
time, but not use a lot of execution time. Each costatement is a little program with its own
statement pointer that advances in response to conditions. On each pass through the big
loop, as little as one statement in the costatement is executed, starting at the current posi-
tion of the costatement’s statement pointer. Consult the Dynamic C User ’s Manual for
more details.
The second costatement in the program debounces the switch and maintains the variable
vswitch . Debouncing is performed by making sure that the switch is either on or off for a
long enough period of time to ensure that high-frequency electrical hash generated when
the switch contacts open or close does not affect the state of the switch. The abort state-
ment is illustrated at (5). If executed, the internal statement pointer is set back to the first
statement within the costatement, and a jump to the closing brace of the costatement is
made.
At (6) a use for a shadow register is illustrated. A shadow register is used to keep track of
the contents of an I/O port that is write only - it can’t be read back. If every time a write is
made to the port the same bits are set in the shadow register, then the shadow register has
the same data as the port register. In this case a test is made to see the state of the LED and
make it agree with the state of vswitch. This test is not strictly necessary, the output regis-
ter could be set every time to agree with vswitch , but it is placed here to illustrate the
concept of a shadow register.
To illustrate the use of snooping, use the watch window to observe vswitch while the
program is running. Add the variable vswitch to the list of watch expressions. Then tog-
gle vswitch and the LED. Then type <Ctrl-U> to observe vswitch again.
3.2.1 Advantages of Cooperative Multitasking
Cooperative multitasking, as implemented with language extensions, has the advantage of
being intuitive. Unlike preemptive multitasking, variables can be shared between different
tasks without having to take elaborate precautions. Sharing variables between tasks is the
greatest cause of bugs in programs that use preemptive multitasking. It might seem that
the biggest problem would be response time because of the big loop time becoming long
as the program grows. Our solution for that is a device caused slicing that is further
described in the Dynamic C User ’s Manual .
28
Rabbit 2000 Development Kit
相关PDF资料
101-0523 KIT DEV RABBIT3000/RCM3000
101-1109 KIT EMBEDDED PLC APPLICATION
101-1147 KIT RIO PROGRAM I/O
101-606 CONN SOCKET IDC 60POS W/KEY GOLD
10113616-01531LF CONN MOD JACK 8PORT 8/8 R/A PCB
10117863-5036010LF CONN MOD JACK 8/8 R/A PCB
10118061-5005010LF CONN MOD JACK 2PORT 8/8 R/A PCB
10118062-5001310LF CONN MOD JACK 4PORT 8/8 R/A PCB
相关代理商/技术参数
101-0359-000 制造商:ITT Interconnect Solutions 功能描述:1010359000 / 101-0359-000 / Circular
10103592 制造商:FCI-CONNECTOR 制造商全称:FCI connector 功能描述:MICRO-USB B-TYPE REVERSE
10103592-0001LF 功能描述:USB接头 5P Quick Connect Micro USB TypeB Plug RoHS:否 制造商:FCI 产品:USB Type A Connectors 标准:USB 3.0 端口数量: 位置/触点数量:9 型式:Female 电流额定值:1.8 A 安装风格:Through Hole 端接类型:Solder Pin 连接器类型:USB 3.0 Receptacle
10103593 制造商:FCI-CONNECTOR 制造商全称:FCI connector 功能描述:MICRO-USB B-TYPE MID-MOUNT
10103593-0001LF 功能描述:USB接头 5P Quick Connect Micro USB TypeB RCPT RoHS:否 制造商:FCI 产品:USB Type A Connectors 标准:USB 3.0 端口数量: 位置/触点数量:9 型式:Female 电流额定值:1.8 A 安装风格:Through Hole 端接类型:Solder Pin 连接器类型:USB 3.0 Receptacle
10103593-0001LF 制造商:FCI 功能描述:MICRO USB B, RECEPTACLE, 5POS, SMT RT AN
10103594 制造商:FCI-CONNECTOR 制造商全称:FCI connector 功能描述:MICRO-USB B-TYPE RECEP.
10103594-0001LF 功能描述:USB接头 5P Quick Connect Micro USB TypeB Rcpt RoHS:否 制造商:FCI 产品:USB Type A Connectors 标准:USB 3.0 端口数量: 位置/触点数量:9 型式:Female 电流额定值:1.8 A 安装风格:Through Hole 端接类型:Solder Pin 连接器类型:USB 3.0 Receptacle