OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2557|回复: 8

STM32智能卡发送问题

[复制链接]

3

主题

11

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-11-28
在线时间
3 小时
发表于 2016-11-28 22:37:37 | 显示全部楼层 |阅读模式
5金钱
先贴程序,这是官方的一个智能卡接口的demo,问题在程序下面,望大神指点
int main(void)
{
****************一堆初始化
while(1)
  {
    /* Loop while no Smartcard is detected */  
    while(CardInserted == 0)
    {
    }
    /* Wait A2R --------------------------------------------------------------*/
    SCState = SC_POWER_ON;
    SC_ADPU.Header.CLA = 0x00;
    SC_ADPU.Header.INS = SC_GET_A2R;
    SC_ADPU.Header.P1 = 0x00;
    SC_ADPU.Header.P2 = 0x00;
    SC_ADPU.Body.LC = 0x00;
    while(SCState != SC_ACTIVE_ON_T0)
    {
      SC_Handler(&SCState, &SC_ADPU, &SC_Responce);
     //delay_ms(40);//不加延时仅仅显示发送给USART1的数据//不加延时就无法完成U3发送
    }
    /* Apply the Procedure Type Selection (PTS) */
    SC_PTSConfig();

    /* Inserts delay(400ms) for Smartcard clock resynchronisation */
    delay_ms(400);
……………………………………
}
问题出现在红色注释那里 //delay_ms(40);//不加延时仅仅显示发送给USART1的数据//不加延时就无法完成U3发送  
如果不加延时的话,后面的给智能卡的信息交互就无法进行,通过单步调试问题出现在
    SC_PTSConfig();这个函数里面
      USART_SendData(USART3, SCData);
      while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET)
      {

      }
死在这个循环里了,但是此时可以读出ATR(复位应答)
如果加上延时,就可以正常进行交互,但是ATR只有第一字节有信息,其他全为零
希望做过智能卡相关的大神指点一下,不胜感激!
新人实在没啥悬赏金了


最佳答案

查看完整内容[请看2#楼]

自己解决了,将延时降低就可以,但是还是不知道具体为什么啊!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-11-28
在线时间
3 小时
 楼主| 发表于 2016-11-28 22:37:38 | 显示全部楼层
自己解决了,将延时降低就可以,但是还是不知道具体为什么啊!
回复

使用道具 举报

31

主题

176

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
400
金钱
400
注册时间
2015-10-16
在线时间
85 小时
发表于 2016-11-29 09:17:56 | 显示全部楼层
操作智能卡需要延时等待卡操作完成
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-11-28
在线时间
3 小时
 楼主| 发表于 2016-11-29 11:17:12 | 显示全部楼层
ziyan0005 发表于 2016-11-29 09:17
操作智能卡需要延时等待卡操作完成

但是加上延时的话想把ATR信息读出的时候只能读到第一字节,其他全是零,去掉延时的话接可以读到全部的ATR,但是无法APDU?求大神指点一哈,谢谢
回复

使用道具 举报

2

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
368
金钱
368
注册时间
2015-9-17
在线时间
88 小时
发表于 2016-12-2 20:55:43 | 显示全部楼层
楼主,您好,我最近也做智能卡项目,可不可以参考一下您的代码呢?
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-11-28
在线时间
3 小时
 楼主| 发表于 2016-12-5 15:26:20 | 显示全部楼层
man1101 发表于 2016-12-2 20:55
楼主,您好,我最近也做智能卡项目,可不可以参考一下您的代码呢?

我用的就是官方例程
回复

使用道具 举报

2

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
368
金钱
368
注册时间
2015-9-17
在线时间
88 小时
发表于 2016-12-7 23:00:12 | 显示全部楼层
godejiao 发表于 2016-12-5 15:26
我用的就是官方例程

那您用的是SIM卡,还是PSAM卡呢?官网的是对SIM操作的,但是我们用的是PSAM卡,有点差别!
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-11-28
在线时间
3 小时
 楼主| 发表于 2016-12-12 13:19:55 | 显示全部楼层
man1101 发表于 2016-12-7 23:00
那您用的是SIM卡,还是PSAM卡呢?官网的是对SIM操作的,但是我们用的是PSAM卡,有点差别!

我现在用的是白卡
回复

使用道具 举报

9

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2016-11-14
在线时间
32 小时
发表于 2016-12-21 15:12:41 | 显示全部楼层
man1101 发表于 2016-12-7 23:00
那您用的是SIM卡,还是PSAM卡呢?官网的是对SIM操作的,但是我们用的是PSAM卡,有点差别!

顶,答主现在做的怎么样了?我也在做这个 ,但是没头绪!我这里有几个问题想问你,方便的话这是我qq:1296548622
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-26 08:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表