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;