日期:2014-05-17  浏览次数:21278 次

关于SerialPort 的 ReadTimeout WriteTimeout

我写了一个短信猫发送程序,下边是主要的发送模块。 用的是西门子TC35。


我想问一下:
1. 程序关闭的时候,串口资源怎么释放,我现在只是调用 SerialPort.close(),是否要调用 Dispose()

2. ReadTimeout   WriteTimeout  是否需要设置?  在程序运行中有什么用?





        private bool SmsToModem(string userMsg, string phoneNumber)
        {
            bool isSuccess = false;
            try
            {

                System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();

                while (!InitModem())
                {
                    Thread.Sleep(1000);
                }
                
                string msgCoded = SmsSerial.GetSendMsg(null, phoneNumber, userMsg);         //pdu码
                string back_AtCmgs = string.Empty;
                string back_Pdu = string.Empty;
                string back_Final = string.Empty;//写1a后的反馈
                string test = string.Empty;
                Byte[] bytesAtBreak;    

                //写AT命令-长度
                sp.DiscardInBuffer();
                sw.Restart();
                sp.WriteLine("AT+CMGS=" + (msgCoded.Length / 2 - 1).ToString() + "\r\n");