因为工作原因,我在搞读社保卡。
现在我的社保卡不能激活,而我同事的一张不用的外地的社保卡可以激活。
我想选择社会保障应用环境,程序如下:
const uint8_t SBAID[15] = {0x73,0x78,0x31,0x2E,0x73,0x68,0x2E,0xC9,0xE7,0xBB,0xE1,0xB1,0xA3,0xD5,0xCF };
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
/* Select MF -------------------------------------------------------------*/
//SC_ADPU.Header.CLA = SC_CLA_GSM11; //0xa0
SC_ADPU.Header.CLA = 0x00;
SC_ADPU.Header.INS = SC_SELECT_FILE; //0xa4
SC_ADPU.Header.P1 = 0x04;
SC_ADPU.Header.P2 = 0x00;
SC_ADPU.Body.LC = 0x0f;
for(i = 0; i < SC_ADPU.Body.LC; i++)
{
SC_ADPU.Body.Data[i] = SBAID[i];
}
while(i < LC_MAX)
{
SC_ADPU.Body.Data[i++] = 0;
}
SC_ADPU.Body.LE = 0;
SC_Handler(&SCState, &SC_ADPU, &SC_Responce);
USART_SendData(USART1,0Xee);
delay1(2);
USART_SendData(USART1,SC_Responce.SW1);
delay1(2);
USART_SendData(USART1,SC_Responce.SW2);
delay1(2);
for(i=0;i<5;i++)
{
USART_SendData(USART1,SC_Responce.Data[i]); //00 00 92 00 3F 00 01 00 00 00 00 00 0A 13 06 0B 08 00 83 8A 83 85
delay1(2);
}
可是返回值不对。
18 00 A4 00 00 00 00
SC_Responce.SW1=0x18
SC_Responce.SW2=0x00
请问高手,这是什么问题呀?我哪儿弄错啦。谢谢
|