我有一台带有SIM卡插槽的HP Elitebook 820,我想做的就是显示SIM卡信息 - 特别是序列号。我做了一些搜索,发现很多人都在谈论AT命令。经过一番搜索,我试了一下。
Dim com1 As SerialPort = New System.IO.Ports.SerialPort
com1.PortName = "COM6"
com1.Open()
If com1.IsOpen Then
com1.Write("AT+CIMI")
Dim result As String
result = com1.ReadExisting
MsgBox(result)
Else
MsgBox("port not open")
End If
没有错误但只返回空白字符串。任何人都可以通过让我知道来帮助我,首先,如果这是可能的,那么我会以正确的方式解决这个问题吗?
答案 0 :(得分:0)
步骤1.获取V.250调制解调器标准的副本,并至少读取第5章的所有内容。这将教你很多基本的AT命令处理,例如应该终止AT命令行与\r
。
步骤2.最好的文档是您的调制解调器制造商的特定文档,您肯定应该尝试抓住它,但是对于像AT+CIMI
这样的基本手机命令,您可以使用3GPP规范{ {3}}同样(假设制造商没有偏离它的实现。有时他们会做一些命令,所以这是值得注意的(因此我建议首先获得调制解调器制造商的特定文档)然而,AT + CIMI命令如此简单,没有什么可以真正偏离。)。
步骤3.接收处理,例如result = com1.ReadExisting
过于简单化了。您必须读取并解析来自调制解调器的每一行响应,直到您获得最终结果代码(最常见的是OK
或ERROR
,但还有其他几个)。任何其他方式都无法可靠地工作。有关如何正确执行此操作的伪代码结构,请参阅27.007。