⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 短信发送
💻 CS
📖 第 1 页 / 共 2 页
字号:
        public static string ByteToString(byte[] InBytes)
        {
            string StringOut = "";
            foreach (byte InByte in InBytes)
            {
                //StringOut = StringOut + String.Format("{0:X2}", InByte) + " ";
                StringOut = StringOut + String.Format("{0:X2}", InByte);
            }

            return StringOut.Trim();
        }
        public static byte[] StringToByte(string InString)
        {
            string[] ByteStrings;
            int TmpIndex;
            ByteStrings = InString.Split(" ".ToCharArray());
            byte[] ByteOut;
            ByteOut = new byte[ByteStrings.Length];
            for (int i = 0; i <= ByteStrings.Length - 1; i++)
            {
                TmpIndex = ByteStrings[i].ToLower().IndexOf("0x");
                if (TmpIndex >= 0)
                {
                    ByteOut[i] = byte.Parse(ByteStrings[i].Remove(TmpIndex, 2), System.Globalization.NumberStyles.HexNumber);
                }
                else
                {
                    ByteOut[i] = byte.Parse(ByteStrings[i], System.Globalization.NumberStyles.HexNumber);
                }
            }
            return ByteOut;
        }
        private byte[] Un2bytes(string msg)
        {
            byte tmp;
            System.Text.UnicodeEncoding uen = new System.Text.UnicodeEncoding();
            byte[] bytes = uen.GetBytes(msg);
            for (int i = 0; i < bytes.Length-1;)
            {
                tmp = bytes[i];
                bytes[i] = bytes[i + 1];
                bytes[i + 1] = tmp;
                i+=2;
            }
            return bytes;
        }
        private bool SendCmd(string cmd)
        {
            serialPort.WriteLine(cmd);
            Thread.Sleep(50);
            if (CheckResponse("OK"))
            {
                return true;
            }
            return false;
        }
        private bool CDMAInit()
        {
            try
            {
                // 测试 GSM-MODEM 的存在性
                if (!QueryExistByRWCmd())
                {
                    ListViewItem lvi;
                    ListViewItem.ListViewSubItem lvsi;
                    this.listView1.BeginUpdate();

                    lvi = new ListViewItem();
                    lvi.Text = "串口初始化失败!";
                    //解析文件大小
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = DateTime.UtcNow.ToString();
                    lvi.SubItems.Add(lvsi);
                    //列表中增加一行
                    this.listView1.Items.Add(lvi);
                    this.listView1.EndUpdate();
                    return false;
                }
                // 关闭回显功能
                //serialPort.WriteLine("ATE0");
                //if (!CheckResponse("OK"))
                //{
                //    MessageBox.Show("关闭回显功能失败!");
                //}
                if (!SendCmd("ATEO"))
                {
                    ListViewItem lvi;
                    ListViewItem.ListViewSubItem lvsi;
                    this.listView1.BeginUpdate();

                    lvi = new ListViewItem();
                    lvi.Text = "关闭回显功能失败!";
                    //解析文件大小
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = DateTime.UtcNow.ToString();
                    lvi.SubItems.Add(lvsi);
                    //列表中增加一行
                    this.listView1.Items.Add(lvi);
                    this.listView1.EndUpdate();
                }
                // 测试SIM卡
                if (!SendCmd("AT$HPINS=P1"))
                {
                    ListViewItem lvi;
                    ListViewItem.ListViewSubItem lvsi;
                    this.listView1.BeginUpdate();

                    lvi = new ListViewItem();
                    lvi.Text = "测试SIM卡失败!";
                    //解析文件大小
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = DateTime.UtcNow.ToString();
                    lvi.SubItems.Add(lvsi);
                    //列表中增加一行
                    this.listView1.Items.Add(lvi);
                    this.listView1.EndUpdate();
                    return false;
                }
                // 测试网络信号
                if (!SendCmd("AT+CSQ?"))
                {
                    ListViewItem lvi;
                    ListViewItem.ListViewSubItem lvsi;
                    this.listView1.BeginUpdate();

                    lvi = new ListViewItem();
                    lvi.Text = "测试网络信号失败!";
                    //解析文件大小
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = DateTime.UtcNow.ToString();
                    lvi.SubItems.Add(lvsi);
                    //列表中增加一行
                    this.listView1.Items.Add(lvi);
                    this.listView1.EndUpdate();
                }
                
            }
            catch (Exception )
            {
                ListViewItem lvi;
                ListViewItem.ListViewSubItem lvsi;
                this.listView1.BeginUpdate();

                lvi = new ListViewItem();
                lvi.Text = "串口初始化失败!";
                //解析文件大小
                lvsi = new ListViewItem.ListViewSubItem();
                lvsi.Text = DateTime.UtcNow.ToString();
                lvi.SubItems.Add(lvsi);
                //列表中增加一行
                this.listView1.Items.Add(lvi);
                this.listView1.EndUpdate();
                return false;
            }
            return true;
        }
        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            serialPort.Close();
        }

        private void InitButton_Click(object sender, EventArgs e)
        {
            if (this.InitButton.Text == "关闭设备")
            {
                try
                {
                    serialPort.Close();
                    cdmaInitFlg = false;
                    this.Height = 250;
                    this.InitButton.Text = "打开设备";
                    cdmaInitFlg = true;
                    this.Height = 500;
                    this.InitButton.Text = "关闭设备";
                    ListViewItem lvi;
                    ListViewItem.ListViewSubItem lvsi;
                    this.listView1.BeginUpdate();

                    lvi = new ListViewItem();
                    lvi.Text = "串口关闭";
                    //解析文件大小
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = DateTime.UtcNow.ToString();
                    lvi.SubItems.Add(lvsi);
                    //列表中增加一行
                    this.listView1.Items.Add(lvi);
                    this.listView1.EndUpdate();
                }
                catch (Exception )
                {
                    ListViewItem lvi;
                    ListViewItem.ListViewSubItem lvsi;
                    this.listView1.BeginUpdate();

                    lvi = new ListViewItem();
                    lvi.Text = "串口关闭失败";
                    //解析文件大小
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = DateTime.UtcNow.ToString();
                    lvi.SubItems.Add(lvsi);
                    //列表中增加一行
                    this.listView1.Items.Add(lvi);
                    this.listView1.EndUpdate();
                }
            }
            else
            {
                try
                {
                    strComPort = comListcombox.Text;

                    bitRate = bitratecomboBox.Text;
                    serialPort.PortName = strComPort;
                    serialPort.BaudRate = Convert.ToInt32(bitRate);
                    serialPort.RtsEnable = true;
                    serialPort.DtrEnable = true;
                    serialPort.ReadTimeout = 5000; //读取阻塞时间
                    serialPort.WriteTimeout = 1000;

                    serialPort.Open();
                    if (!CDMAInit())
                    {
                        serialPort.Close();
                        return;
                    }
                    cdmaInitFlg = true;
                    this.Height = 500;
                    this.InitButton.Text = "关闭设备";
                    ListViewItem lvi;
                    ListViewItem.ListViewSubItem lvsi;
                    this.listView1.BeginUpdate();

                    lvi = new ListViewItem();
                    lvi.Text = "设备打开成功";
                    //解析文件大小
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = DateTime.UtcNow.ToString();
                    lvi.SubItems.Add(lvsi);
                    //列表中增加一行
                    this.listView1.Items.Add(lvi);
                    this.listView1.EndUpdate();
                }
                catch (Exception )
                {
                    ListViewItem lvi;
                    ListViewItem.ListViewSubItem lvsi;
                    this.listView1.BeginUpdate();

                    lvi = new ListViewItem();
                    lvi.Text = "设备打开失败";
                    //解析文件大小
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = DateTime.UtcNow.ToString();
                    lvi.SubItems.Add(lvsi);
                    //列表中增加一行
                    this.listView1.Items.Add(lvi);
                    this.listView1.EndUpdate();
                }
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Close();
        }

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -