PLC与M20 GSM Modem的通信

来源:ofweek 作者:—— 时间:2012-03-27 14:50

       ---- SendSMS1子程序将从收到短信息的内容中提取出发送方的电话号码,并向M20发送AT+CMGS=“发送方号码”,Modem在接到该指令后返回的信息为:

  ---- 》

  ---- 对应的十六进制形式为:

  ---- 0D 0A 3E 20

  ---- 其中0D 0A为不可显示字符,20为空格符

  ---- 这样,在发送完成中断中以M0.1位条件设置接收的起始字符为“〉”CHR(62)用以接受M20发送的提示信息。在接收完成中断中,用接受缓冲的第一个字节等于CHR(62)来触发SendSMS2子程序。

  ---- SendSMS2子程序将所要发送的内容加上结束字符CHR(26)发送个给M20。如果短信息正确发送,M20返回 +CMGS: xxx(xxx为该SIM卡已发送的短信数量);如果信息未能正确发送,则M20返回 +CMS ERROR。在接收完成中断中,用CMGS来触发DelSMS子程序,用ERROR来触发ReSend子程序。

  ---- DelSMS子程序向M20发送AT+CMGD=1用来删除收到的短信息,ReSend子程序重新发送SendSMS1中的指令AT+CMGS=“ 发送方号码”。

  ---- 点击下在原程序

  ---- 附:Modem发送的信息格式

  ---- 收到短信息时:

  ---- +CMTI: “SM”, 1

  ---- 0D 0A 2B 43 4D 54 49 3A 20 22 53 4D 22 2C 20 31 0D 0A

  ---- 读取短信息内容时:

  ---- +CMGR: “REC UNREAD”,“+8613801184286”,,“02/03/05,13:44:12+32”

  ---- CALL ME

  ---- OK

  ---- 0D 0A 2B 43 4D 47 52 3A 20 22 52 45 43 20 55 4E 52 45 41 44 22 2C 22 2B 38 36 31 33 38 30 31 31 38 34 32 38 36 22 2C 2C 22 30 32 2F 30 33 2F 30 35 2C 31 33 3A 34 34 3A 31 32 2B 33 32 22 0D 0A 43 41 4C 4C 20 4D 45 0D 0A 0D 0A 4F 4B 0D 0A

  ---- 发送短信息时:

  ---- 》

  ---- 0D 0A 3E 20

  ---- 发送成功时:

  ---- +CMGS: 160

  ---- OK

  ---- 0D 0A 2B 43 4D 47 53 3A 20 31 36 30 0D 0A 0D 0A 4F 4B 0D 0A

  ---- 发送失败时:

  ---- +CMS ERROR: 500

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子