03.08.2013 Views

Embedded Software and Motor Control Libraries for PXR40xx

Embedded Software and Motor Control Libraries for PXR40xx

Embedded Software and Motor Control Libraries for PXR40xx

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.121.6 Code Example<br />

#include "mlib.h"<br />

tFrac16 f16In1, f16In2;<br />

tFrac16 f16Out;<br />

void main(void)<br />

{<br />

// input value 1 = 0.25<br />

f16In1 = FRAC16 (0.25);<br />

// input value 2 = 0.25<br />

f16In2 = FRAC16 (0.25);<br />

}<br />

// output should be FRAC16(0.5) = 0x4000<br />

f16Out = MLIB_Add_F16(f16In1, f16In2);<br />

// output should be FRAC16(0.5) = 0x4000<br />

f16Out = MLIB_Add (f16In1, f16In2, Define F16);<br />

// ##############################################################<br />

// Available only if 16-bit fractional implementation selected<br />

// as default<br />

// ##############################################################<br />

// output should be FRAC16(0.5) = 0x4000<br />

f16Out = MLIB_Add (f16In1, f16In2);<br />

The output of the function is defined by the following simple equation:<br />

Equation MLIB_Add_Eq1<br />

Note<br />

Due to effectivity reason this function is written in S12Z-core<br />

assembly thus is not ANSI-C compliant. The overflow is not<br />

detected in this function.<br />

4.121.7 Re-entrancy<br />

The function is re-entrant.<br />

4.121.8 Code Example<br />

#include "mlib.h"<br />

tFrac16 f16In1, f16In2;<br />

tFrac16 f16Out;<br />

<strong>Embedded</strong> <strong>Software</strong> <strong>and</strong> <strong>Motor</strong> <strong>Control</strong> <strong>Libraries</strong> <strong>for</strong> <strong>PXR40xx</strong>, Rev. 1.0<br />

Chapter 4 API References<br />

Freescale Semiconductor, Inc. 557

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!