AT91RM9200-CI-002 Atmel, AT91RM9200-CI-002 Datasheet - Page 102

no-image

AT91RM9200-CI-002

Manufacturer Part Number
AT91RM9200-CI-002
Description
IC ARM9 MCU 256 BGA
Manufacturer
Atmel
Series
AT91SAMr

Specifications of AT91RM9200-CI-002

Core Processor
ARM9
Core Size
16/32-Bit
Speed
180MHz
Connectivity
EBI/EMI, Ethernet, I²C, MMC, SPI, SSC, UART/USART, USB
Peripherals
POR
Number Of I /o
122
Program Memory Size
128KB (128K x 8)
Program Memory Type
ROM
Ram Size
48K x 8
Voltage - Supply (vcc/vdd)
1.65 V ~ 1.95 V
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
256-BGA
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
Eeprom Size
-
Data Converters
-

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
AT91RM9200-CI-002
Manufacturer:
Atmel
Quantity:
10 000
14.3.3.3
102
AT91RM9200
Using the Service
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 memory
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(
defined as my_CtlTempoCreate(...), the procedure is as follows:
In most cases, initialize the AT91S_SvcTempo object by calling the 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 timeout
is checked by reading the TickTempo member of the svcTempo1 object.
When the application needs another software timer to control a timeout, it:
• Allocates one instance of AT91S_SvcTempo in the application memory space
• Initializes the AT91S_SvcTempo object calling the AT91F_CtlTempoCreate method of the
AT91S_CtlTempo service:
// 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);
// Allocate the service
AT91S_SvcTempo svcTempo2;
// 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 application
1768I–ATARM–09-Jul-09

Related parts for AT91RM9200-CI-002