📄 newcard.c
字号:
#include "hardware.h"
#include "x5045.h"
extern void W_DOG(void);
/*确定F的值*/
uint Calculate_F(uchar ta1)
{
uint idata f;
W_DOG();
switch(ta1&0XF0)
{
case 0x00:
f=372;
break;
case 0x10:
f=372;
break;
case 0x20:
f=558;
break;
case 0x30:
f=744;
break;
case 0x40:
f=1116;
break;
case 0x50:
f=1488;
break;
case 0x60:
f=2232;
break;
case 0x90:
f=512;
break;
case 0xA0:
f=768;
break;
case 0xB0:
f=1024;
break;
case 0xC0:
f=1536;
break;
case 0xD0:
f=2048;
break;
default : f=372;
}
return f;
}
uchar Calculate_D(uchar ta1)
{
uchar d;
W_DOG();
switch(ta1&0X0f)
{
case 0x01:
d=1;
break;
case 0x02:
d=2;
break;
case 0x03:
d=4;
break;
case 0x04:
d=8;
break;
case 0x05:
d=16;
break;
case 0x06:
d=32;
break;
case 0x08:
d=12;
break;
case 0x09:
d=20;
break;
default : d=1;
}
return d;
}
uchar Calculate_Baud(uint fa,uchar da)
{
uchar baudrate;
W_DOG();
if(fa==372&da==1) {baudrate=0; return baudrate;} //for 9600pbs
if(fa==372&da==4) {baudrate=1; return baudrate;} //for 38400pbs
if(fa==512&da==8) {baudrate=2; return baudrate;} //for 56kpbs
if(fa==372&da==8) {baudrate=3; return baudrate;} //for 76800pbs
if(fa==512&da==1) {baudrate=4; return baudrate;} //for 7kpbs 512/f
else baudrate=1;
return baudrate;
}
/*ulong Calculate_T0_TimeOut(uchar a,uchar b) //a__>W1,b-->D
{
ulong idata timeoutT0;
timeoutT0=(ulong)960*(ulong)a*(ulong)b;
return timeoutT0;
}
ulong Calculate_T1_TimeOut1(uchar a)
{
ulong idata timeoutT1;
uchar i;
W_DOG();
timeoutT1=(ulong)2;
for(i=1;i<a;i++)
timeoutT1<<=1;
return timeoutT1;
}
ulong Calculate_T1_TimeOut2(uchar bwi,uchar d,uint f)
{
ulong idata timeoutT1;
uchar i;
W_DOG();
timeoutT1=(ulong)2;
for(i=1;i<bwi;i++)
timeoutT1<<=1;
timeoutT1=timeoutT1*(ulong)960/(ulong)f;
timeoutT1*=(ulong)d*(ulong)372;
return timeoutT1;
}
/********************************************************************
* Function: CalculateCRC
* *
* input: data_len *
* output: ch *
********************************************************************/
uchar Calc_xor_pps(uchar data_len,uchar *buf5)
{
uchar i,ch=0;
W_DOG();
for(i=0;i<data_len;i++)
{
ch=ch^buf5[i];
}
return ch;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -