【问题标题】:SIM800L Blank SMS issueSIM800L空白短信问题
【发布时间】:2019-03-25 18:07:00
【问题描述】:

我将SIM800L module 与德州仪器启动板、MSP430G2553 微控制器一起使用,而不是使用 SIM800L 的外部库。

问题陈述: 发送一条简单的短信(带文本模式的短信),手机上接收为空白短信。

SIM 卡详情:

1. SIM 1:位置:印度。运营商:AirTel,兼容 4G 的 SIM 卡。
2. SIM 2:位置:印度。运营商:Tata Docomo,兼容 3G 的 SIM 卡。

我已经知道的:

  • 固件中的 UART 驱动程序已经过测试并且可以正常工作、非轮询、中断驱动。
  • 没有添加阻塞时间延迟来替代读取 AT 命令的响应。我阅读了响应并仅在收到肯定的确认后才继续,<CR><LF>OK<CR><LF> 对于大多数命令。
  • 我已经通过示波器确认了在 Tx-Rx 引脚上发送和接收的数据位。一切似乎都符合预期,包括电压水平。

我读过的内容:

  • 通过非官方来源(当然是论坛)推测 SIM800L 仅兼容 2G。

  • (来自维基百科的浅读)我已经阅读了 GSM 3.38GSM 3.40 以及 Data Coding Scheme section,以了解如何在合适/相关的 AT 命令 (AT+CSMP) 中处理文本编码。

  • 各种论坛,包括非常普遍使用 SIM800L 模块的 arduino 论坛。

Stackoverflow 上的相关帖子:

第一个答案似乎对他有用,但对我没有用。

我尝试了什么:

  • 我已将同一模块与 Docklight 串行终端实例一起使用。我的手机收到了从 Docklight 发送的短信,并按预期显示,而不是空白。

  • 在第 0 天,在将模块与 Launchpad 硬件集成之前,我使用 SIM800L 的预期响应的精确副本测试了整个固件状态机。

  • 两张 SIM 卡的结果是相同的,除了一些初始配置,但我在启动任何 SMS 相关任务之前都加载了一组典型的配置。

    李>

我使用的典型值是:

  • 回声关闭
  • CSMP: 17, 167, 0, 0(我试过 17, 167, 0, 0,但没有运气)。 SIM 1 的默认值为 17,11,0,246,SIM 2 的默认值为 17,255,0,0。
  • CSCS:“爱尔兰共和军”

串口组合失败:(SIM 1 和 SIM 2)

  • CSMP:17、11、0、246 | CSCS:“IRA” - 发送空白短信
  • CSMP:17、11、0、246 | CSCS:“GSM” - 发送空白短信
  • CSMP:17、11、0、246 | CSCS:“HEX” - 发送空白短信

串口组合成功:(SIM 1 和 SIM 2)

  • CSMP:17、167、0、0 | CSCS:“爱尔兰共和军”
  • CSMP:17、167、0、8 | CSCS:“爱尔兰共和军”
  • CSMP:17、11、0、0 | CSCS:“GSM”
  • CSMP:17、167、0、0 | CSCS:“GSM”
  • CSMP:17、167、0、8 | CSCS:“GSM”

老实说,我研究了哪些字段反映了这些组合的变化(SIM800L 用户指南中没有详细记录)之前,我对这些组合有预感。


知道我在这里可能缺少什么吗?我愿意认为这更像是一个 RTFM(阅读胖手册)问题。

【问题讨论】:

    标签: character-encoding embedded sms at-command sim800


    【解决方案1】:

    好的,已成功解决问题。

    这根本与 SIM800L 无关。 整个有效载荷后面跟着一个'\0',这是出乎意料的(我知道,我这边很差)。串行术语对此没有任何问题。 调试很有趣!

    【讨论】:

      猜你喜欢
      • 2018-08-23
      • 2018-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多