Sim800模块USSD命令执行:如何启用Ring中断并存储结果
SIM800模块USSD命令启用Ring中断的实现步骤
要让USSD命令触发Ring引脚中断,和呼叫、短信的中断机制一致,需要分步骤配置模块,再执行USSD命令:
1. 启用USSD主动上报(URC)
首先配置模块,让它在收到USSD响应时主动向串口发送结果码(URC),执行以下命令:
AT+CUSD=2,"1",15
参数说明:
2:进入USSD通知模式设置"1":启用主动上报USSD结果15:采用GSM 7位编码(和你原命令保持一致)
2. 配置Ring引脚触发USSD事件
设置Ring引脚在收到USSD响应时触发中断,同时保留呼叫、短信的中断触发,执行:
AT+CMER=1,0,0,3
参数说明:
1:启用移动设备事件的URC上报- 第三个
0:禁用屏幕显示提示 3:设置Ring引脚在来电、短信、USSD事件时都触发电平变化(中断)
3. 保存配置(可选但推荐)
将当前配置写入模块非易失性存储器,避免重启后丢失:
AT&W
4. 执行USSD命令
继续使用你原有的USSD命令发送请求:
AT+CUSD=1,"[some ussd]",15
中断处理逻辑
当Ring引脚触发中断时,立即从串口读取模块返回的+CUSD:格式响应,示例响应如下:
+CUSD: 0,"Your USSD response content here",15
解析响应中的第二个字符串字段,就是USSD返回的结果,直接存储即可。
内容的提问来源于stack exchange,提问作者Mohammad Javad Jafari
相关产品推荐
相关产品推荐

