mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-08-18 09:08:33 -04:00
Add FreeRTOS-Plus directory.
This commit is contained in:
parent
7bd5f21ad5
commit
f508a5f653
6798 changed files with 134949 additions and 19 deletions
205
FreeRTOS/Demo/HCS12_CodeWarrior_banked/CODE/PE_Timer.C
Normal file
205
FreeRTOS/Demo/HCS12_CodeWarrior_banked/CODE/PE_Timer.C
Normal file
|
@ -0,0 +1,205 @@
|
|||
/** ###################################################################
|
||||
** THIS BEAN MODULE IS GENERATED BY THE TOOL. DO NOT MODIFY IT.
|
||||
** Filename : PE_Timer.C
|
||||
** Project : RTOSDemo
|
||||
** Processor : MC9S12DP256BCPV
|
||||
** Beantype : PE_Timer
|
||||
** Version : Driver 01.00
|
||||
** Compiler : Metrowerks HC12 C Compiler
|
||||
** Date/Time : 14/06/2005, 16:34
|
||||
** Abstract :
|
||||
** This bean "PE_Timer" implements internal methods and definitions
|
||||
** used by beans working with timers.
|
||||
** Settings :
|
||||
** Contents :
|
||||
** No public methods
|
||||
**
|
||||
** (c) Copyright UNIS, spol. s r.o. 1997-2002
|
||||
** UNIS, spol. s r.o.
|
||||
** Jundrovska 33
|
||||
** 624 00 Brno
|
||||
** Czech Republic
|
||||
** http : www.processorexpert.com
|
||||
** mail : info@processorexpert.com
|
||||
** ###################################################################*/
|
||||
|
||||
|
||||
/* MODULE PE_Timer. */
|
||||
|
||||
#include "PE_Timer.h"
|
||||
|
||||
|
||||
|
||||
typedef unsigned long UINT32;
|
||||
|
||||
typedef union {
|
||||
UINT32 val;
|
||||
struct {
|
||||
unsigned short hi16,lo16;
|
||||
} s;
|
||||
} OP_UINT32;
|
||||
|
||||
typedef struct {
|
||||
unsigned short dummy;
|
||||
UINT32 mid;
|
||||
} M_UINT32;
|
||||
|
||||
typedef struct {
|
||||
UINT32 hi32, lo32;
|
||||
} UINT64;
|
||||
|
||||
typedef union {
|
||||
UINT64 val;
|
||||
M_UINT32 m;
|
||||
} OP_UINT64;
|
||||
|
||||
/*
|
||||
** ===================================================================
|
||||
** Method : PE_Timer_LngMul (bean PE_Timer)
|
||||
**
|
||||
** Description :
|
||||
** This method is internal. It is used by Processor Expert
|
||||
** only.
|
||||
** ===================================================================
|
||||
*/
|
||||
void PE_Timer_LngMul(dword va1, dword va2, dlong *var)
|
||||
{
|
||||
OP_UINT32 *va = (OP_UINT32*)&va1;
|
||||
OP_UINT32 *vb = (OP_UINT32*)&va2;
|
||||
OP_UINT64 *vr = (OP_UINT64*)var;
|
||||
|
||||
vr->val.hi32 = 0UL;
|
||||
vr->val.lo32 = ((UINT32)va->s.lo16)*((UINT32)vb->s.lo16);
|
||||
{
|
||||
OP_UINT32 tmp;
|
||||
|
||||
tmp.val = ((UINT32)va->s.lo16)*((UINT32)vb->s.hi16);
|
||||
vr->m.mid += (UINT32)tmp.s.lo16;
|
||||
vr->val.hi32 += (UINT32)tmp.s.hi16;
|
||||
}
|
||||
{
|
||||
OP_UINT32 tmp;
|
||||
|
||||
tmp.val = ((UINT32)va->s.hi16)*((UINT32)vb->s.lo16);
|
||||
vr->m.mid += (UINT32)tmp.s.lo16;
|
||||
vr->val.hi32 += (UINT32)tmp.s.hi16;
|
||||
}
|
||||
vr->val.hi32 += ((UINT32)va->s.hi16)*((UINT32)vb->s.hi16);
|
||||
}
|
||||
|
||||
/*
|
||||
** ===================================================================
|
||||
** Method : PE_Timer_LngHi1 (bean PE_Timer)
|
||||
**
|
||||
** Description :
|
||||
** This method is internal. It is used by Processor Expert
|
||||
** only.
|
||||
** ===================================================================
|
||||
*/
|
||||
bool PE_Timer_LngHi1(dword High, dword Low, word *Out)
|
||||
{
|
||||
if ((High == 0) && ((Low >> 24) == 0))
|
||||
if ((Low & 0x80) != 0) {
|
||||
if ((Low >> 8) < 0xFFFF) {
|
||||
*Out = ((unsigned int)(Low >> 8))+1;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
*Out = (unsigned int)(Low >> 8);
|
||||
return FALSE;
|
||||
}
|
||||
*Out = (unsigned int)(Low >> 8);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
** ===================================================================
|
||||
** Method : PE_Timer_LngHi2 (bean PE_Timer)
|
||||
**
|
||||
** Description :
|
||||
** This method is internal. It is used by Processor Expert
|
||||
** only.
|
||||
** ===================================================================
|
||||
*/
|
||||
bool PE_Timer_LngHi2(dword High, dword Low, word *Out)
|
||||
{
|
||||
if (High == 0)
|
||||
if ((Low & 0x8000) != 0) {
|
||||
if ((Low >> 16) < 0xFFFF) {
|
||||
*Out = ((unsigned int)(Low >> 16))+1;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
*Out = (unsigned int)(Low >> 16);
|
||||
return FALSE;
|
||||
}
|
||||
*Out = (unsigned int)(Low >> 16);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
** ===================================================================
|
||||
** Method : PE_Timer_LngHi3 (bean PE_Timer)
|
||||
**
|
||||
** Description :
|
||||
** This method is internal. It is used by Processor Expert
|
||||
** only.
|
||||
** ===================================================================
|
||||
*/
|
||||
bool PE_Timer_LngHi3(dword High, dword Low, word *Out)
|
||||
{
|
||||
if ((High >> 8) == 0)
|
||||
if ((Low & 0x800000) != 0) {
|
||||
if (((Low >> 24) | (High << 8)) < 0xFFFF) {
|
||||
*Out = ((unsigned int)((Low >> 24) | (High << 8)))+1;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
*Out = (unsigned int)((Low >> 24) | (High << 8));
|
||||
return FALSE;
|
||||
}
|
||||
*Out = (unsigned int)((Low >> 24) | (High << 8));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
** ===================================================================
|
||||
** Method : PE_Timer_LngHi4 (bean PE_Timer)
|
||||
**
|
||||
** Description :
|
||||
** This method is internal. It is used by Processor Expert
|
||||
** only.
|
||||
** ===================================================================
|
||||
*/
|
||||
bool PE_Timer_LngHi4(dword High, dword Low, word *Out)
|
||||
{
|
||||
if ((High >> 16) == 0)
|
||||
if ((Low & 0x80000000) != 0) {
|
||||
if (High < 0xFFFF) {
|
||||
*Out = ((unsigned int)High)+1;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
*Out = (unsigned int)High;
|
||||
return FALSE;
|
||||
}
|
||||
*Out = (unsigned int)High;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* END PE_Timer. */
|
||||
|
||||
/*
|
||||
** ###################################################################
|
||||
**
|
||||
** This file was created by UNIS Processor Expert 03.33 for
|
||||
** the Motorola HCS12 series of microcontrollers.
|
||||
**
|
||||
** ###################################################################
|
||||
*/
|
Loading…
Add table
Add a link
Reference in a new issue