2017-08-10 276 views
1

我想通过串口在C#中与GSM调制解调器通信。用AT命令与GSM调制解调器通信

到目前为止,我已经能够连接它,发送AT命令并发送短信。

的短信发送,我发送以下AT命令

AT+CMGF=1 /* set text mode */ 

AT+CMGS=8801911xxxxxx 

"hellp msg "+ (char)26 

其工作正常。

但对于发送USSD消息,

我尝试

AT+CMGF=0 /* PDU mode */ 
AT+CUSD=1,*121# , 15 

但它没有返回响应。

我试过用GSMCOMM库,它也没反应。

我试图将文本转换为PDU,仍然没有运气。

那么我怎样才能发送USSD消息在C#中的串行端口调制解调器,并获得响应回来?

回答

2

你应该这样发送USSD命令:

AT+CUSD=1,"*121#",15

同时请注意AT+CMGF只影响发送,而不是USSD短信。您可能还想检查this answer

+0

其实我发送正是这一点,但仍然没有运气。 这里是即时消息发送和接收: _serialPort.WriteLine(“AT + CUSD = 1,\”* 121#\“,15”); Thread.Sleep(1000) result = _serialPort.ReadLine(); 我需要额外做些什么才能获得USSD回应? –

+0

@ShofiqulAlam你检查了[this](https://stackoverflow.com/questions/42700301/atcusd-not-working-on-modem-huawei-e3131a)? – vasek

+0

不,链接已解决我的问题。 你可以将它发布为答案,以便我可以接受吗? –

0

发送USSD命令是这样的:

sp.Write("AT+CUSD=1,\"*710#\",15\r"); 
相关问题