MDK-ARM Keil, MDK-ARM Datasheet - Page 40

KIT REALVIEW MCU DEVELOPMENT

MDK-ARM

Manufacturer Part Number
MDK-ARM
Description
KIT REALVIEW MCU DEVELOPMENT
Manufacturer
Keil
Type
Compiler and IDEr
Datasheets

Specifications of MDK-ARM

For Use With/related Products
ARM MCUs
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
40
To configure a mailbox object
we must first declare the
message pointers. Here we are
using 16 mail slots. This is an
arbitrary number and varies
depending on your requirements,
but 16 is a typical starting point.
The message pointers are
declared as an array of unsigned
integers using the following
macro:
os_mbx_declare (MsgBox, 16);
Next, we must declare a structure to hold the data to be transferred. This is the
format of each message slot:
typedef struct
} MESSAGE;
Once we have defined the format of the message slot, we must reserve a block of
memory large enough to accommodate 16 message slots:
_declare_box (mpool, sizeof (MESSAGE), 16);
This block of memory then has to be formatted into the required 16 mail slots
using a function provided with the RTOS:
_init_box (mpool, sizeof (mpool), sizeof (MESSAGE));
Now, if we want to send a message between tasks, we can create a pointer of the
message structure type and allocate it to a mail slot.
MESSAGE *mptr;
mptr = _allocbox (mpool);
Next, we fill this mail slot with the data to be transferred:
for (int i=0; i<4; i++)
}
unsigned char ADresult [4];
unsigned int PORT0;
mptr->ADresult [i] = ADresult (i);
mptr->PORT0 = IOPIN0;
{
{
Chapter 2. Developing With an RTOS

Related parts for MDK-ARM