打印
[STM32F1]

社保卡选择社会保障应用环境的问题

[复制链接]
603|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
JY-DX-JY|  楼主 | 2016-9-23 13:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
因为工作原因,我在搞读社保卡。
现在我的社保卡不能激活,而我同事的一张不用的外地的社保卡可以激活。
我想选择社会保障应用环境,程序如下:
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
请问高手,这是什么问题呀?我哪儿弄错啦。谢谢

沙发
JY-DX-JY|  楼主 | 2016-9-23 14:14 | 只看该作者
高手支招啊

使用特权

评论回复
板凳
JY-DX-JY|  楼主 | 2016-9-23 14:55 | 只看该作者
现在只有读随机数是对的。

使用特权

评论回复
地板
xyz549040622| | 2016-9-23 16:42 | 只看该作者
这个高大上的东西,没搞过。读取的值不对,可能是延时上的问题,加大延时看看。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:晴天响霹雳,平地一声雷。

245

主题

3349

帖子

30

粉丝