psUartDataRevSend = (psUartData)UartBuf;
Len = psUartDataRevSend->UartCmdLen + psUartDataRevSend->UartDataLen + 3;
for( i = 0; i < ( Len - 1 ); i ++ )
{
Check ^= UartBuf;
}
/*
if( Check != UartBuf[Len - 1] )
{
psUartDataRevSend->UartErrCode = ERROR_CHECK;
send_rebck( psUartDataRevSend );
uart_over();
return;
}
*/
switch( psUartDataRevSend->UartCmd )
{
case 0x0002: //检测串口状态 -> fe 03 01 c1 c0 er 00 ck, <- fc 03 01 c1 c0 er aa ck
check_com( psUartDataRevSend );
break;
case 0x0003: //查询卡号 -> fe 03 04 c1 c0 er 00 00 00 00 ck, <- fc 03 04 c1 c0 er sn3 sn2 sn1 sn0 ck
req_card_sn( psUartDataRevSend );
break;
case 0x0110: //修改密码方式0 fe 03 0d c1 c0 er kn o5 o4.. o0 n5 n4.. n0 ck, <-fe 03 07 c1 c0 er kn n5 n4.. n0 ck
updata_key( psUartDataRevSend ); //修改密码 kn%4 == 3
break;
case 0x0120: //读数据块方式0 -> fe 03 07 c1 c0 er kn ky5 ... ky0 ck, <- fc 03 11 c1 c0 er kn d15...d0 ck
block_read( psUartDataRevSend ); //读数据块 kn%4 != 3
break;
case 0x0130: //写数据块方式0 -> fe 03 07 c1 c0 er kn ky5 ... ky0 ck, <- fc 03 11 c1 c0 er kn d15...d0 ck
block_write( psUartDataRevSend ); //读数据块 kn%4 != 3
break;