LPL Topics
Event Handling
23-34
Using the LI-6400
23
Figure 23-15 illustrates (in Òpseudo-LPLÓ) how we might structure an LPL
program to handle three types of events. Essentially, we sit in a tight loop
waiting for something to happen, and when it does, we deal with it. The func-
tion
HandleKeys
, for example, would have to get the keystroke, and process
it.
In order for this outline to work as an LPL program, weÕd have to fill in the
routines such as
ClockReady?
, to signal us at desired times or time intervals.
Fortunately, LPL hides much of this work from the programmer. It turns out
that to actually implement the outline in Figure 23-15, one only needs to a)
register the functions to be called, and b) write those functions. Figure 23-16
illustrates how this actually looks in LPL.
We register the functions to be called using the
ON...
LPL keywords.
:FCT
EventLoop
{
LOOP
KeysReady? IF HandleKeys THEN
ClockReady? IF HandleClock THEN
A/DReady? IF HandleA/D THEN
...
ENDLOOP
}
KeysReady? {...}
ClockReady? {...}
A/DReady? {...}
HandleKeys {
GETKEY
... }
HandleClock { ... }
HandleA/D { ... }
Figure 23-15. Illustration of the hard way to detect events
:FCT
Main
{
&HandleKeys
ONKBD
&HandleClock
ONTIC
&HandleA/D 1
ONA2D
IDLE
}
HandleKeys {
GETKEY
... }
HandleClock {...}
HandleA/D {...}
Figure 23-16. Programming for events in LPL.
Содержание LI-6400
Страница 1: ...Using the LI 6400 Portable Photosynthesis System ...
Страница 15: ...Part I The Basics ...
Страница 16: ......
Страница 174: ...Making Measurements Answers to Questions 4 56 Using the LI 6400 4 ...
Страница 175: ...Part II Useful Details ...
Страница 176: ......
Страница 200: ...Standard Tools Power ON Hooks 5 24 Using the LI 6400 5 ...
Страница 214: ...Real Time Data Real Time Graphics 6 14 Using the LI 6400 6 ...
Страница 234: ...Environmental Control Light Control 7 20 Using the LI 6400 7 ...
Страница 244: ...Light Sensor Considerations Gallium Arsenide Phosphide GaAsP Sensor 8 10 Using the LI 6400 8 ...
Страница 288: ...Data Logging Making Your Own AutoPrograms 9 44 Using the LI 6400 9 ...
Страница 289: ...Part III Working With Files ...
Страница 290: ......
Страница 312: ...The LPL File System Troubleshooting 10 22 Using the LI 6400 10 ...
Страница 340: ...Downloading Files Using a Data Capture Program 11 28 Using the LI 6400 11 ...
Страница 375: ...Part IV Configuration Issues ...
Страница 376: ......
Страница 420: ...Defining User Variables Old Style vs New Style 15 18 Using the LI 6400 15 ...
Страница 454: ...Using an Energy Balance Further Reading 17 12 Using the LI 6400 17 ...
Страница 455: ...Part V Maintenance Troubleshooting ...
Страница 456: ......
Страница 572: ...Troubleshooting Useful Information 20 46 Using the LI 6400 20 ...
Страница 587: ...Diagnostics and Utilities Sys Utility Programs Using the LI 6400 21 15 EBVpd t C guess EBSatVap _EBvap_kPa ...
Страница 593: ...Part VI Programming ...
Страница 594: ......
Страница 622: ...Programming with LPL Compiler Directives 22 28 Using the LI 6400 22 ...
Страница 846: ...Index I 16 Using the LI 6400 ...