最近做了个windows服务,连接短信猫用来收发短信,打开串口初始化短信猫设置时发现“AT+CNMI=2,2”这个命令返回ERROR,(接收短信时返回给终端,不存到SIM卡上)
查询了好多资料才发现是AT+CSMS(查询和设置短信服务)搞得怪!!该命令支持两个值,0和1,0为普通模式,1为PDU模式,分别是什么意思??这里不在详细描述,
普通模式支持AT+CNMI的范围为(0-3),(0,1),(0,2,3),(1)
PDU模式支持AT+CNMI的范围为(0-3),(0-3),(0,2,3),(1)
设置为AT+CSMS=1,返回OK,
通过AT+CNMI?查询下参数的范围,是不是(0-3),(0-3),(0,2,3),(1),
这个就可以设置AT+CNMI=2,2,返回OK,设置成功
初始化的时候加个"AT&W",保存下设置就OK了。
本人用的是西门子的TC35模块,开发的,如果不行,查下你短信猫相关的AT指令,
不同的厂家可能不一定;
注:本人的短信猫在发送,接收,删除等短信操作的时候,AT+CNMI指令为自动改为2,0,0,0,1,
目前还没查出来是什么原因,所以每次操作就重新设置AT+CNMI指令吧