您的位置:首页 > 其它

CPU卡程序设计实例(二十)8字节随机数读取

2017-04-28 19:46 281 查看
/*******************************************

函数名称:Get_RandNum

函数功能:从卡或者ESAM取8字节随机数

输入参数:无

输出参数:*pcRandBuff

描述:发命令头-接收到的数据等于命令头中的第二字节后,接下来的8个字节是随机数

*******************************************/

unsigned char *Get_RandNum(void)

{

unsigned char cRandBuff[10]={0};

unsigned char *pcRandBuff;

unsigned int itemp;

cCommandLen=0x05;

TxAndRxBuff[0]=0x00;

TxAndRxBuff[1]=0x84;

TxAndRxBuff[2]=0x00;

TxAndRxBuff[3]=0x00;

TxAndRxBuff[4]=0x08;

SendCommandHead_Pro();

if(CardORESAM&CardWorkFlag)

{

for(itemp=0;itemp<10;itemp++)

{

cRandBuff[itemp]=CardReceChar();

if(ErrorRWBIT&CardError) goto GetRandNumEnd;

}

}

else

{

for(itemp=0;itemp<10;itemp++)

{

cRandBuff[itemp]=EsamReceChar();

if(ErrorRWBIT&CardError) goto GetRandNumEnd;

}

}

if((cRandBuff[8]!=0x90)&&(cRandBuff[9]!=0x00))

{

CardError=ErrorRandBIT|CardError;

}

GetRandNumEnd:

delay_ms2M(5);

pcRandBuff=&cRandBuff[0];

return pcRandBuff;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息