发新帖本帖赏金 0.10元(功能说明)我要提问
返回列表
打印
[STM32F1]

SIM卡写短消息服务参数的问题

[复制链接]
1206|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
JY-DX-JY|  楼主 | 2015-9-15 11:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
// Get Response on IMSI File ---------------------------------------------
   if(((SC_Responce.SW1 << 8) | (SC_Responce.SW2)) == SC_OP_TERMINATED)                                                                                                //9000
    {
                                                USART_SendData(USART1,0x13);
                                                delay1(2);
      SC_ADPU.Header.CLA = SC_CLA_GSM11;                                                //A0
      SC_ADPU.Header.INS = SC_SELECT_FILE;                                        //A4
      SC_ADPU.Header.P1 = 0x00;
      SC_ADPU.Header.P2 = 0x00;
      SC_ADPU.Body.LC = 0x02;

      for(i = 0; i < SC_ADPU.Body.LC; i++)
      {
        SC_ADPU.Body.Data[i] = DF[i];
      }
                       

      SC_ADPU.Body.LE = 0;

      SC_Handler(&SCState, &SC_ADPU, &SC_Responce);
    }

                if(SC_Responce.SW1 == SC_EF_SELECTED)                                                        //9F
    {
                        USART_SendData(USART1,0X14);
                                                delay1(2);
                        SC_ADPU.Header.CLA = SC_CLA_GSM11;                                                //A0
      SC_ADPU.Header.INS = SC_SELECT_FILE;                                        //A4
      SC_ADPU.Header.P1 = 0x00;
      SC_ADPU.Header.P2 = 0x00;
      SC_ADPU.Body.LC = 0x02;

      for(i = 0; i < SC_ADPU.Body.LC; i++)
      {
        SC_ADPU.Body.Data[i] = DF4[i];
      }
                       

      SC_ADPU.Body.LE = 0;

      SC_Handler(&SCState, &SC_ADPU, &SC_Responce);
                }
               
                if(SC_Responce.SW1 == SC_EF_SELECTED)                                                        //9F
    {

      USART_SendData(USART1,0X24);
                                                delay1(2);
                        SC_ADPU.Header.CLA = SC_CLA_GSM11;                                                //A0
      SC_ADPU.Header.INS = SC_WRITE_BINARY;                                        //D0
      SC_ADPU.Header.P1 = 0x00;
      SC_ADPU.Header.P2 = 0x01;
      SC_ADPU.Body.LC = 0x0f;                                                                                                        //40以内不对 0x1c(94 02)
                        SC_ADPU.Body.Data[0]=0x55;
                        SC_ADPU.Body.Data[1]=0xaa;
                        SC_ADPU.Body.Data[2]=0x15;
                        SC_ADPU.Body.Data[3]=0x06;
                        SC_ADPU.Body.Data[4]=0x26;
                       
                        i=5;
                        while(i < LC_MAX)
        {
          SC_ADPU.Body.Data[i++] = 0xff;
        }
      SC_ADPU.Body.LE = 00;
      SC_Handler(&SCState, &SC_ADPU, &SC_Responce);
    }
我试图写SIM卡的短消息服务参数,可是不成功。
上面是我的程序,返回的错误代码是0x6d,0x00。大神看看是怎么回事?谢谢!

沙发
huangcunxiake| | 2015-9-15 12:35 | 只看该作者
楼主怎么一直在搞这个,我搜索了一下,问SIM卡的帖子全是你一个人发的,都大半年了,你这个什么项目,透露一点听听。

使用特权

评论回复
板凳
huangcunxiake| | 2015-9-15 12:45 | 只看该作者
给你找了个STM32与SIM300之间的通信,经实验,非常稳定,不容易产生错误,包括短信,通话等功能的资料。

不知道你用的是不是SIM300


楼主看看吧
61IC_S4459.rar (3.13 MB)



使用特权

评论回复
评论
guanyanqin1992 2016-12-27 23:18 回复TA
mark 
地板
JY-DX-JY|  楼主 | 2015-9-15 12:47 | 只看该作者
身份*读卡器。哪有大半年?我来公司才四个多月。
你的资料我先看看。谢谢!

使用特权

评论回复
5
huangcunxiake| | 2015-9-15 13:11 | 只看该作者
JY-DX-JY 发表于 2015-9-15 12:47
身份*读卡器。哪有大半年?我来公司才四个多月。
你的资料我先看看。谢谢! ...

哈哈,楼主这个工作应该不错啊,一直在搞这个产品。

使用特权

评论回复
6
huangcunxiake| | 2015-9-15 13:11 | 只看该作者
JY-DX-JY 发表于 2015-9-15 12:47
身份*读卡器。哪有大半年?我来公司才四个多月。
你的资料我先看看。谢谢! ...

身份*读卡器怎么还要用SIM啊,远程通信?

使用特权

评论回复
7
JY-DX-JY|  楼主 | 2015-9-15 13:14 | 只看该作者
有好多款,卖给移动营业厅的当然要能读写卡

使用特权

评论回复
8
huangcunxiake| | 2015-9-15 13:28 | 只看该作者
JY-DX-JY 发表于 2015-9-15 13:14
有好多款,卖给移动营业厅的当然要能读写卡

看来你们接了个很大的单子锕

使用特权

评论回复
9
JY-DX-JY|  楼主 | 2015-9-15 14:56 | 只看该作者
不管SMS参数存在还是被删除,它的空间都会给分配。任意没用的字节,可能是参数不需要设置所有字节,或可能参数已被删除,应该把它设置为FF。
字母识别符
内容:SMS参数相关的字符标记。
编码:看EFadn。
注解:Y的值可能为0,也就是字母标示符没有用。通过命令GET RESPONSE移动终端可以检测到Y的值。
短消息服务参数文档里有上面这么一段话,我想得到短消息服务参数里的字母识别符里的Y。我用GET RESPONSE命令得到了响应,15个字节
00 00 00 C8 6F 42 04 00 11 F0 44 01 02 01 28
可是不知道什么意思。高手解惑呀!谢谢!

使用特权

评论回复
10
JY-DX-JY|  楼主 | 2015-9-15 15:54 | 只看该作者
13 14 24 90 00 25 90 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 55
这是我串口打印出的信息,第一个9000代表往里写对了,第二个9000代表读也对了。可是40个数据都是FF,我很无语。
我写的数不是ff。

使用特权

评论回复
11
JY-DX-JY|  楼主 | 2015-9-15 16:26 | 只看该作者
现在发现写对了,可是只能写对一次。第二次再写就不对了。

使用特权

评论回复
12
ocon| | 2015-9-15 23:51 | 只看该作者
建议去模块厂家官网找技术支持。

使用特权

评论回复
13
sinshine| | 2015-9-28 13:02 | 只看该作者
JY-DX-JY 发表于 2015-9-15 14:56
不管SMS参数存在还是被删除,它的空间都会给分配。任意没用的字节,可能是参数不需要设置所有字节,或可能 ...

LZ这个项目做了好久了啊,上次回你还是几个月前。LZ好好看一下3GPP 11.11。

00 00 00 C8 6F 42 04 00 11 F0 44 01 02 01 28 最后一个byte表示每条record的长度(40)。
短消息服务参数的每条record长度Y+28, 减法一下,Y=12.

使用特权

评论回复

打赏榜单

JY-DX-JY 打赏了 0.10 元 2015-09-28

14
JY-DX-JY|  楼主 | 2015-9-28 17:17 | 只看该作者
谢谢大神

使用特权

评论回复
15
天灵灵地灵灵| | 2015-9-28 17:34 | 只看该作者
楼主搞这么久了,搞好了吗?

使用特权

评论回复
16
JY-DX-JY|  楼主 | 2015-9-28 18:22 | 只看该作者
没有,还差一点点

使用特权

评论回复
17
Thor9| | 2015-9-28 19:44 | 只看该作者
去厂家官网找技术支持要资料

使用特权

评论回复
18
wahahaheihei| | 2015-9-28 21:36 | 只看该作者
厂家有资料没

使用特权

评论回复
发新帖 本帖赏金 0.10元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

245

主题

3351

帖子

30

粉丝