NULL
This commit is contained in:
113
user/Utility/user_math.c
Executable file
113
user/Utility/user_math.c
Executable file
@@ -0,0 +1,113 @@
|
||||
#include "../main/SystemInclude.h"
|
||||
|
||||
TypeSecondary Secondary;
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>BCD<43><44><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><38>,ÿ<><C3BF><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><F3B6BCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λLSD+3<>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>7,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3,<2C><><EFBFBD><EFBFBD>,<2C><>4λMSD<53><44>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
//void ConvertWordHEXToBCD(u16 convertHex)
|
||||
//{
|
||||
//u32 convertHex;
|
||||
// for(I=0; I<16; I++)
|
||||
// {
|
||||
//
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
u8 BCDToHEX(u8 BCDBuffer)
|
||||
{
|
||||
return (((BCDBuffer & 0xf0)>>4)*10 + (BCDBuffer & 0x0f));
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
u16 HEXToBCD(u8 HEXBuffer)
|
||||
{
|
||||
u16 tempBCD;
|
||||
|
||||
tempBCD = HEXBuffer/100;
|
||||
HEXBuffer -= tempBCD * 100;
|
||||
tempBCD <<= 4;
|
||||
tempBCD |= HEXBuffer / 10;
|
||||
HEXBuffer -= (tempBCD & 0x000f) * 10;
|
||||
tempBCD <<= 4;
|
||||
tempBCD |= HEXBuffer;
|
||||
|
||||
return tempBCD;
|
||||
//return ((((u16)HEXBuffer / 100) << 8) | ((HEXBuffer / 10) << 4) | (HEXBuffer % 10));
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
void ConvertHEXToBCDArray(u32 convertHex, u8 *resultPointer, u16 covertLen, u16 order)
|
||||
{
|
||||
u16 I;
|
||||
s16 adrBuf;
|
||||
u32 covertBuf;
|
||||
|
||||
if(order == LOW_FIRST) adrBuf = 1;
|
||||
else
|
||||
{
|
||||
resultPointer += covertLen-1;
|
||||
adrBuf = -1;
|
||||
}
|
||||
|
||||
for(I=0; I<covertLen; I++)
|
||||
{
|
||||
covertBuf = convertHex / (u32)10;
|
||||
*resultPointer = (u8)(convertHex-covertBuf*10);
|
||||
convertHex = covertBuf;
|
||||
|
||||
resultPointer += adrBuf;
|
||||
//if(order == LOW_FIRST) resultPointer++;
|
||||
//else resultPointer--;
|
||||
}
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
s32 SecondaryCompute(void)
|
||||
{
|
||||
f32 fTemp;
|
||||
|
||||
tmpSLA = (s32)Secondary.ValueH;
|
||||
tmpSLA -= (s32)Secondary.ValueL;
|
||||
fTemp = (float)tmpSLA;
|
||||
|
||||
tmpSLB = Secondary.NodeX;
|
||||
tmpSLB -= Secondary.NodeL;
|
||||
//tmpSLA *= tmpSLB;
|
||||
fTemp *= (float)tmpSLB;
|
||||
|
||||
tmpSLB = Secondary.NodeH;
|
||||
tmpSLB -= Secondary.NodeL;
|
||||
//tmpSLA /= tmpSLB;
|
||||
if(tmpSLB != 0) fTemp /= (float)tmpSLB;
|
||||
else return 0;
|
||||
|
||||
tmpSLA = (s32)fTemp;
|
||||
tmpSLA += (s32)Secondary.ValueL;
|
||||
|
||||
//if(tmpSLA < 0) return 0;
|
||||
//else return (u16)tmpSLA;
|
||||
return tmpSLA;
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD>봦<EFBFBD><EBB4A6>-------------------------------------------------------------
|
||||
u16 WordSubFunction(u16 minuend, u16 subtractor)
|
||||
{
|
||||
u16 subResult;
|
||||
|
||||
subResult = minuend - subtractor;
|
||||
if(minuend >= subtractor)
|
||||
{
|
||||
if(subResult < 32768) subResult += 32768;
|
||||
else subResult = 65535;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(subResult < 32768) subResult = 0;
|
||||
else subResult -= 32768;
|
||||
}
|
||||
|
||||
return subResult;
|
||||
}
|
||||
Reference in New Issue
Block a user