CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

示例代码

ISO7816

ISO7816模块实现ISO 7816标准,本示例实现ISO7816模块读取SIM卡信息,工程路径:SDK_Folder\projects\peripheral\iso7816\app_iso7816

示例工程流程图

图 31 ISO7816读取SIM卡信息流程

初始化参数

app_iso7816_params_t params = {

    .use_mode = APP_ISO7816_TYPE_POLLING,
    .pin_cfg = DEFAULT_IO_CONFIG,
    .init = {
    .wait_time = 0x6B,
    .guard_time = 0x0A,
    .detect_coding = ENABLE,
    },
};
  • use_mode:传输模式配置,选择APP_ISO7816_TYPE_POLLING,轮询模式
  • pin_cfg:引脚配置,包含时钟引脚CLK、复位引脚Reset、数据输入输出引脚I/O、UICC Presence引脚
  • init:通信参数配置,包括:
    • init .wait_time:等待回应时间,0x6B ETU
    • init .guard_time:两个连续字符之间的间隔时间,0x0A ETU
    • init .detect_coding:指定在ATR接收期间自动检测编码约定

重要函数

  • 初始化函数
    app_iso7816_init(&params, app_iso7816_evt_handler)
  • 获取ISO7816句柄
    g_sim_card_handle = *app_iso7816_get_handle()
  • Reset ISO7816模块,获取ATR信息
    sim_card_get_ATR(&g_sim_card_handle)
  • 协议类型选择(对ATR的响应)程序和配置通信速度
    sim_card_PTS(&g_sim_card_handle)
  • 选择Master的根目录
    sim_card_select_MF(&g_sim_card_handle)
  • 读取ICCID信息
    sim_card_read_ICCID(&g_sim_card_handle)
  • 读取IMSI信息
    sim_card_read_IMSI(&g_sim_card_handle)

测试验证

外接SIM卡到开发板,连接开发板到PC端,打开串口助手,连接串口,查看串口日志,串口将打印ICCID和IMSI信息。每个SIM卡ICCID和IMSI信息存在差异,需要根据实际的SIM对比。

图 32 串口打印SIM卡信息

扫描关注

打开微信,使用“扫一扫”即可关注。