AT91RM3400-DK Atmel, AT91RM3400-DK Datasheet - Page 62

KIT DEV FOR AT91RM3400

AT91RM3400-DK

Manufacturer Part Number
AT91RM3400-DK
Description
KIT DEV FOR AT91RM3400
Manufacturer
Atmel
Series
AT91SAM Smart ARMr
Type
MCUr
Datasheets

Specifications of AT91RM3400-DK

Contents
Evaluation Board, Software and Documentation
Processor To Be Evaluated
AT91RM3400
Data Bus Width
32 bit
Interface Type
RS-232, USB
For Use With/related Products
AT91RM3400
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
Using the Service
62
AT91RM3400
The first step is to find the address of the open service method AT91F_OpenCtlTempo using
the ROM Entry Service.
Allocate one instance of AT91S_CtlTempo and AT91S_SvcTempo in the application mem-
ory space:
Initialize the AT91S_CtlTempo instance by calling the AT91F_OpenCtlTempo function:
At this stage, the application can use the AT91S_CtlTempo service members.
If the application wants to overload an object member, it can be done now. For example, if
AT91F_CtlTempoCreate(
tion defined as my_CtlTempoCreate(...), the procedure is as follows:
I n m o s t c a s e s , i n i t i a l i z e t h e A T 9 1 S _ S v c T e m p o o b j e c t b y c a l l i n g t h e
AT91F_CtlTempoCreate method of the AT91S_CtlTempo service:
Start the timeout by calling
parameters, either a callback is started at the end of the countdown or the status of the time-
out is checked by reading the TickTempo member of the svcTempo1 object.
When the application needs another software timer to control a timeout, it:
// Allocate the service and the control tempo
AT91S_CtlTempo ctlTempo;
AT91S_SvcTempo svcTempo1;
// Initialize service
pAT91->OpenCtlTempo(&ctlTempo, (void *) &(pAT91->SYSTIMER_DESC));
// Overload AT91F_CtlTempoCreate
ctlTempo.CtlTempoCreate = my_CtlTempoCreate;
// Init the svcTempo1, link it to the AT91S_CtlTempo object
ctlTempo.CtlTempoCreate(&ctlTempo, &svcTempo1);
// Start the timeout
svcTempo1.Start(&svcTempo1,100,0,NULL,NULL);
// Wait for the timeout of 100 (unity depends on the timer programmation)
// No repetition and no callback.
while (svcTempo1.TickTempo);
Allocates one instance of AT91S_SvcTempo in the application memory space
// Allocate the service
AT91S_SvcTempo svcTempo2;
Initializes the AT91S_SvcTempo object calling the AT91F_CtlTempoCreate method of
the AT91S_CtlTempo service:
// Init the svcTempo2, link it to the AT91S_CtlTempo object
ctlTempo.CtlTempoCreate(&ctlTempo, &svcTempo2);
Start
&ctlTempo, &svcTempo1
method of the svcTempo1 object. Depending on the function
) method is to be replaced by the applica-
1790A–ATARM–11/03

Related parts for AT91RM3400-DK