gpt4 book ai didi

c# - 通过串行端口通过诺基亚手机发送短信

转载 作者:太空宇宙 更新时间:2023-11-03 14:36:08 24 4
gpt4 key购买 nike

我正在尝试通过串行方式通过诺基亚手机发送短信,这通过腻子很容易。来自 nokia documentation 的命令工作正常。

然而,尝试从 C# 应用程序发送相同的命令却惨遭失败。我已经运行了 Sysinternals PortMon,可以看到命令正常运行,我能看到的唯一区别在于它的连接方式,但我找不到可以消除这些差异的命令。

我运行的代码看起来有点像这样

using (SerialPort port = new SerialPort(comPort, 9600, Parity.None, 8, StopBits.One))
{
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
port.ErrorReceived += new SerialErrorReceivedEventHandler(port_ErrorReceived);

//port.ReceivedBytesThreshold = 1;
port.DtrEnable = true;
port.RtsEnable = true;
port.ReadTimeout = 1;
port.Handshake = Handshake.XOnXOff;


try
{
port.Open();

port.WriteLine("AT");

port.WriteLine("AT+CMGF=1");

port.WriteLine("AT+CMGS=\"" + number + "\"");

port.WriteLine(message);

port.Write(new byte[] { (byte)26 }, 0, 1);
}
finally
{
if (port.IsOpen)
{
port.Close();
}
}

我在串行端口的跟踪中看到的差异是

一开始

0.00001844  aspnet_wp.exe   IOCTL_SERIAL_SET_HANDFLOW   USBSER001   SUCCESS Shake:1 Replace:43 XonLimit:4096 XoffLimit:4096 

最后

0.00061153  aspnet_wp.exe   IOCTL_SERIAL_PURGE  USBSER001   SUCCESS Purge: RXABORT RXCLEAR  
0.00004442 aspnet_wp.exe IOCTL_SERIAL_PURGE USBSER001 SUCCESS Purge: TXABORT TXCLEAR

有没有人对如何解决这些问题有任何建议?我还注意到,当我发出命令时,手机没有通过任何确认响应应用程序,因此我怀疑问题出在连接上,而不是最后的那些消息。

最佳答案

试试看能不能从手机上读出串口通讯。发送“AT”后,手机应回复“OK”。在使用 SMS 位之前验证串行通信是否正常工作可能是个好主意。

根据我的内存,我认为在 AT+CMGS 之后应该输入消息,然后按 ctrl-z,不需要换行。您可以尝试将 WriteLine(message) 更改为 Write(message) 吗?

希望这对您有所帮助!

关于c# - 通过串行端口通过诺基亚手机发送短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/984631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com