DLP-RFS-DK DLP Design, DLP-RFS-DK Datasheet - Page 34
![no-image](/images/no-image-200.jpg)
DLP-RFS-DK
Manufacturer Part Number
DLP-RFS-DK
Description
RF Development Tools DLP-RFS1231 development kit
Manufacturer
DLP Design
Type
RF Transceiversr
Datasheet
1.DLP-RFS-DK.pdf
(41 pages)
Specifications of DLP-RFS-DK
Rohs
yes
Product
Development Kit
Tool Is For Evaluation Of
DLP-RFS1231
Frequency
915 MHz
Operating Supply Voltage
2.4 V to 3.6 V
Dimensions
1.5 in x 2 in x 1.53 in
Interface Type
UART
Maximum Operating Temperature
+ 70 C
Minimum Operating Temperature
0 C
For Use With
DLP-RFS1231
}
Without the semaphore, func1() would leave interrupts enabled when it exits. Therefore, when
doSomethingElse() executes, interrupts are enabled—which is clearly not the intention.
Using a semaphore, let's look at what happens:
1.
2.
3.
4.
5.
5.0.10 TIMER MANAGER API
Detailed Description:
This manager is provided in library form. The Timer Manager API provides the functions necessary to
interface with the built-in timer system. It allows other managers and the application to register cyclic
and one-time events that are to be triggered at a programmed delay.
The Timer Manager provides two types of timers: event timers and elapsed timers. The timer is
driven from TimerF and the 10MHz main clock. It generates a count every 500uSec. Event timers
are interrupt driven. These are used when a piece of code needs an asynchronous notification that a
period of time has expired. Event timers can be cyclic or one-time. Event timers can only be used
when interrupts are enabled at least part of the time. Elapsed timers are not interrupt driven. Their
value can be read using the API at any time. These timers are used to provide timeout functions for
code which can operate with interrupts disabled.
Functions:
void tmrInitialize (void)
Initializes the Timer Manager.
uint8_t tmrRegisterEvent (uint16_t ticks, TCallback TCallbackfunc)
Registers a repeating timer event.
uint8_t tmrRegisterOneTimeEvent (uint16_t ticks, TCallback TCallbackfunc)
Registers a one-time timer event.
void tmrReleaseEvent (uint8_t eventno)
Releases a previously registered event.
uint8_t tmrRegisterElapsedTimer (void)
Registers an elapsed timer.
uint16_t tmrGetElapsedTime (uint8_t handle)
Gets the elapsed time in milliseconds for the specified elapsed timer handle.
void tmrReleaseElapsedTimer (uint8_t handle)
Releases a previously registered elapsed timer.
void tmrWait (uint16_t milliseconds)
Waits a specified number of milliseconds.
Rev 1.1 (November 2012)
EnableInterrupts();
DisableInterrupts() is called in main(). Interrupts are disabled, and the semaphore is incremented
to 1.
func1() is called, which calls DisableInterrupts() again. The semaphore is incremented to 2.
EnableInterrupts() is called at the end of func1(). The semaphore is decremented to 1, but
interrupts are left disabled.
doSomethingElse() is called with interrupts disabled, which is the intent.
Now that it is zero, and interrupts are enabled, the last call to EnableInterrupts() decrements the
semaphore again.
34
© DLP Design, Inc.