76 lines
2.1 KiB
Plaintext
76 lines
2.1 KiB
Plaintext
//---------------------------------------------------------------------------
|
|
//#pragma hdrstop //Óïðàâëåíèå ïðåä êîìïèëÿöèåé
|
|
//#include "stdafx.h"
|
|
#include "mathTools.h"
|
|
//---------------------------------------------------------------------------
|
|
int MaxI4(int v1,int v2)
|
|
{ if(v1>v2) return v1; else return v2;
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
int MaxI4_2(int v1,int v2)
|
|
{ if(v1>v2) return v1; else return v2;
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
//ïðîâåðêà çíà÷åíèÿ áèòà â ìàññèâå (íóìåðàöèÿ ñ ëåâà íà ïðàâî) pos - 0..n
|
|
bool testBit(const unsigned char *mas,const unsigned char pos)
|
|
{
|
|
unsigned char mask=128;
|
|
unsigned char loc=pos/8;
|
|
mask=mask >> (pos-loc*8);
|
|
return (mask & mas[loc])==mask;
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
//óñòàíîâèòü çàäàííûé áèò â 1 èëè â 0
|
|
void setBit(unsigned char *mas,const unsigned char pos,bool val)
|
|
{
|
|
unsigned char mask=128;
|
|
unsigned char loc=pos/8;
|
|
mask=mask >> (pos-loc*8);
|
|
if(val) mas[loc]=mas[loc] | mask;
|
|
else
|
|
{
|
|
mask=! mask;
|
|
mas[loc]=mas[loc] & mask;
|
|
}
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
//Óñòàíîâèò çííà÷åíèå áèòà â çàäàííóþ ïîçèöèþ
|
|
///pos - Ïîçèöèÿ 7..0
|
|
uint1 setBitVal(uint1 bit,uint1 pos,bool val)
|
|
{
|
|
uint1 v=1;
|
|
v=0x1<<pos;
|
|
if(val)
|
|
{
|
|
bit=bit | v;
|
|
}else
|
|
{
|
|
v=v ^ 0xFF;
|
|
bit=bit & v;
|
|
}
|
|
return bit;
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
//Âåðí¸ò çíà÷åíèå áèòà íà çàäàííîé ïîçèöèè
|
|
///pos - Ïîçèöèÿ 7..0
|
|
bool getBitVal(uint1 bit,uint1 pos)
|
|
{
|
|
uint1 v=1;
|
|
v=v<<pos;
|
|
return (bit & v) == v;
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
//Ñêîðîñòü êîì ïîðòà ïî íîìåðó
|
|
long getBaudRate(long s)
|
|
{
|
|
if(s==0) return 1200;
|
|
if(s==1) return 2400;
|
|
if(s==2) return 4800;
|
|
if(s==3) return 9600;
|
|
if(s==4) return 19200;
|
|
if(s==5) return 38400;
|
|
if(s==6) return 57600;
|
|
if(s==7) return 115200;
|
|
return 0;
|
|
}
|
|
//--------------------------------------------------------------------------- |