呵呵,没事,我大概还是可以看懂的.而且CSDN给了我这么大的帮助,我还是很感谢噢.
你发的这个READ BINARY命令结构我有认真的看过.只是仍然不大明白你发的那个"03"是指什么意思?
//READ BINARY
A0 B0 00 00 01
03
90 00
03是读出来的值,我上面写的交互流,如果是写的数据,就跟在命令头的后面了,如果是读出来的,就换一行显示。
啊,我好像明白了.03就是指手机支持STK功能了.其实实际中回复的内容不一定是"03",如果回复的是"01"就说明这张卡不支持STK功能,不知道这样理解是否正确?
有点头绪了,真的非常谢谢jennyvenus,可帮了我大忙了.开始上班了,呵呵!
基本对了,但是efphase中只有3种可能,即
00 -phase 1
02 -phase 2
03 -phase 2+
另外不是“回复”而是“读出来的值”
十分愿意与曾经的同行讨论SIM卡问题。俺现在弄java卡,sim卡快一年不做了。
请问我做了如下操作之后,FETCH回来的数据不完整,试了几张卡都是一样,这是什么原因?
//SELECT
A0 A4 00 00 02 3F 00
9F 16
//TERMINAL PROFILE
A0 10 00 00 06 FF FF FF FF FF FF
91 72
//FETCH
A0 12 00 00 72
D0 70 81 03 01 25 00 82 02 81 82 85 09 80 52 A8 61 1F 57 30 5E 26 8F 0E 01 80 08 4B
你的读卡器是什么,坚石的?
还有,卡有没有pps过程?11的还是其他的?
还有一个问题:你上面例子里说的一级菜单是指主菜单再下面一级的菜单还是?
那你交互的程序是谁写的?是否所有的数据都被你的应用层接收到了?
PPS过程是提高读卡器与卡之间数据速度的,默认加电为11,大概相当于9600的波特率,目前见到的卡支持96,即223200左右,速度快了好几十倍。
用的是9600的波特率,交互程序是一个同事写的,我主要想先确定一下这样的读取菜单的过程有没有错,如果没错我再咨询那位同事,看到底出了什么问题
0级、1级、2级菜单都是习惯叫法,将terminal profile指令后面产生出来的菜单叫1级菜单,选择1级菜单产生菜单叫做2,3,。。。。N级菜单,0级菜单是1级菜单的Alphabet identifier部分。
那列出菜单时有SELECT 3F 00 文件和发TERMINAL PROFILE这两个步骤是为什么?
select 3f00是个人习惯,sim卡加电就选中3f00
terminal profile在前面不是说过了吗?
其实看看协议就知道原理了,协议在3GPP网站免费下的,只要注册一个邮箱就行。
下载协议是在这个网址吗?http://www.3gpp.org/
我怎么找不到注册的地儿啊?
我现在手上的是GSM11.14和3GPP11.14有区别吗?
好久没来关注这个帖子了,最近项目好多,这个东西只能先放着,不过经理那边又在催STK要赶紧弄好,我都要哭了:(
我也不知道规范在哪下,从来都是从同事那copy过来。stk这东西要是有抓数工具,可以看其数据流了,俺有个工具,你可以下载一下。
http://download.eeworld.net/hieeworld/jennyvenus