EasyManua.ls Logo

STC micro STC8A8K64D4 Series - Page 443

Default Icon
901 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
STC8A8K64D4 Series Manual
- 427 -
u8 Lin_CheckPID(u8 id)
{
u8 returnpid ;
u8 P0 ;
u8 P1 ;
P0 = (((id)^(id>>1)^(id>>2)^(id>>4))&0x01)<<6;
P1 = ((~((id>>1)^(id>>3)^(id>>4)^(id>>5)))&0x01)<<7;
returnpid = id|P0|P1 ;
return returnpid ;
}
//========================================================================
// function: u8 LINCalcChecksum(u8 *dat)
// description: Calculate the checksum.
// parameters: The data transmitted by the data field.
// return: checksum.
// version: VER1.0
// date: 2020-12-2
// remark:
//========================================================================
static u8 LINCalcChecksum(u8 *dat)
{
u16 sum = 0;
u8 i;
for(I = 0; i < 8; i++)
{
sum += dat[i];
if(sum & 0xFF00)
{
sum = (sum & 0x00FF) + 1;
}
}
sum ^= 0x00FF;
return (u8)sum;
}
//========================================================================
// function: void Lin_SendBreak(void)
// description: Send a dominant interval signal.
// parameters: none.
// return: none.
// version: VER1.0
// date: 2020-12-2
// remark:
//========================================================================
void Lin_SendBreak(void)
{
SetTimer2Baudraye(Baudrate_Break);
UART2_TxByte(0);
SetTimer2Baudraye(Baudrate2);
}
//========================================================================
// function: void Lin_Send(u8 *puts)

Table of Contents

Related product manuals