at91rm3400 ATMEL Corporation, at91rm3400 Datasheet - Page 57

no-image

at91rm3400

Manufacturer Part Number
at91rm3400
Description
Atmel Advanced At91 Arm Microcontroller
Manufacturer
ATMEL Corporation
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
at91rm3400-AU-002
Manufacturer:
Atmel
Quantity:
10 000
Table 16. Overloading a Method with the Overloading of the Open Service Function
1790A–ATARM–11/03
Default service behavior in ROM
// Defined in embedded_services.h
typedef struct _AT91S_Service {
} AT91S_Service, * AT91PS_Service;
// Defined in obj_service.c (in ROM)
char AT91F_MainMethod ()
{
}
char AT91F_ChildMethod ()
{
}
// Init the service with default methods
AT91PS_Service AT91F_OpenService(
AT91PS_Service pService)
{
}
char data;
char (*MainMethod) ();
char (*ChildMethod) ();
pService->data = 0;
pService->MainMethod =AT91F_MainMethod;
pService->ChildMethod=AT91F_ChildMethod;
return pService;
This can be done by writing a new function My_OpenService(). This new Open function
must call the library-defined function AT91F_Open_<Service>, and then update one or sev-
eral function pointers:
Overloading AT91F_ChildMethod by My_ChildMethod
// My_ChildMethod will replace AT91F_ChildMethod
char My_ChildMethod ()
{
}
// Overloading Open Service Method
AT91PS_Service My_OpenService(
AT91PS_Service pService)
{
// Overloading ChildMethod default value
}
// Allocation of the service structure
AT91S_Service service;
// Opening of the service
AT91PS_Service pService =
My_OpenService(&service);
AT91F_OpenService(pService);
pService->ChildMethod= My_ChildMethod;
return pService;
AT91RM3400
57

Related parts for at91rm3400