我正在尝试获取Samsung S7设备的IMEI。我通过AT+CGSN
对Putty
进行了尝试,效果很好。当我使用C#尝试相同时,SerialPort
返回空字符串。
在C#SerialPort
上发送AT \ r \ n并按预期提供“ OK”,并且除此以外,所有其他AT命令也可以正常工作
对于我来说有点奇怪,为什么它不适用于其他人正在使用的特定命令。
这里是样本。
private static string GetMobileSerialNumber(string PortName)
{
string Serial = "";
SerialPort serialPort = new SerialPort();
serialPort.PortName = PortName;
serialPort.BaudRate = 154200;
serialPort.Handshake = Handshake.None;
serialPort.ReadBufferSize = 16384;
try
{
if (!(serialPort.IsOpen))
serialPort.Open();
serialPort.Write("AT+CGSN\r\n");
Thread.Sleep(1000);
Serial = serialPort.ReadExisting();
serialPort.Close();
Console.WriteLine(Serial);
return Serial;
}
catch (Exception ex)
{
//MessageBox.Show("Error in opening/writing to serial port :: " + ex.Message, "Error!");
return "";
}
}
也提供样品here
答案 0 :(得分:0)
PuTTY和Teraterm相同的设置可以使用,但是基于c#的应用程序无法执行命令。什么是绝对解决方案。可能是编码错误