微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt2503如何通过AT查询SIM卡的ICCID

mt2503如何通过AT查询SIM卡的ICCID

时间:10-02 整理:3721RD 点击:
[Description]
通过AT命令查询SIM卡的ICCID,客制化方法可参考相关文档,这里介绍的是如何获取ICCID的值。
[Solution]
1、MP Branch After 11A1129MP,11B1129MP,可以用AT+ICCID来获取;
2、客制化方法获取ICCID:
在MMI层如需读取ICCID,可以通过发message: MSG_ID_MMI_SMU_READ_SIM_REQ,从SIM卡去读FILE_ICCID_IDX。消息中src_mod_id = MOD_MMI; dest_mod_id =MOD_L4C。
同时要注册MSG_ID_MMI_SMU_READ_SIM_RSP 的callback 函数。
注意如果您要获取卡2的ICCID,需发消息到MOD_L4C_2,并使用SetSlaveProtocolEventHandler()来设置响应消息的响应函数。
以下是参考代码:
MMI_BOOL mmi_lmc_get_iccid_rsp((void *inMsg, int mod_dest, void *Message))
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
mmi_smu_read_sim_rsp_struct *iccid_data;
kal_uint8 iccid[21];
U8 i;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
iccid_data = (mmi_smu_read_sim_rsp_struct*) inMsg;
mmi_frm_clear_protocol_event_handler(MSG_ID_MMI_SMU_READ_SIM_RSP,
mmi_lmc_get_iccid_rsp);
if (iccid_data->result.flag == L4C_SUCCESS)
{
kal_pROMpt_trace(MOD_MMI, "Read iccid success!");
for (i = 0; i < iccid_data->length; i++)
{
iccid[i * 2] = 0X30 + (*(iccid_data->data + i) & 0x0F);
iccid[i * 2 + 1] = 0x30 + ((*(iccid_data->data + i) & 0xF0) >> 4);
}
iccid[20] = 0;
kal_prompt_trace(MOD_MMI, "ICCID:%s", iccid);
}
else
{
kal_prompt_trace(MOD_MMI, "read iccid fail!");
}
return MMI_FALSE;
}
void mmi_lmc_get_iccid_req(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
MYQUEUE Message;
mmi_smu_read_sim_req_struct *dataPtr;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
mmi_frm_set_protocol_event_handler(MSG_ID_MMI_SMU_READ_SIM_RSP,
(PsIntFuncPtr)mmi_lmc_get_iccid_rsp, MMI_TRUE);
Message.oslSrcId = MOD_MMI;
Message.oslDestId = MOD_L4C;
Message.oslMsgId = MSG_ID_MMI_SMU_READ_SIM_REQ;
dataPtr = (mmi_smu_read_sim_req_struct*)
OslConstructDataPtr(sizeof(mmi_smu_read_sim_req_struct));
dataPtr->file_idx = (U8) FILE_ICCID_IDX;
dataPtr->para = 0;
dataPtr->length = 0x0a;
Message.oslDataPtr = (oslParaType*) dataPtr;
Message.oslPeerBuffPtr = NULL;
OslMsgSendExtQueue(&Message);
}

又见大牛贴,顶一个!

谢谢支持啊

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top