GSM MODEM.cs源代码,c#串口调试程序

分享

上一篇短信猫开发新手不求人了解的串口类,简单的串口调试器 》今天给大家介绍了串口调试,今天给大家来个调试程序的源代码让大家进行参考学习然后慢慢实现给系统实现短信猫发送短信通知的功能。软件仅供参考用,请勿用于进行商业用途。
软件发送短信部分打算用C#类库实现 首先实现了一个简单的发送AT指令的程序 简单的把类库部分代码贴出来
Bug太多,贴出来仅供参考

软件效果图:

184353q3gofvvrgnbn51nr.png


GSMMODEM.cs源代码:

    using System;
    using System.IO.Ports;
    using System.Threading;
     
    namespace 时讯网
    {
        class GSMMODEM
        {
            //构造函数
          public GSMMODEM()
          {
              //串口初始化
              _sp.NewLine = "\r\n";
              _sp.ReadTimeout = 2500;
              _sp.RtsEnable = true;
              //_sp.DtrEnable = true;
   
              //_sp.Handshake = Handshake.RequestToSendXOnXOff;
          }
   
          public GSMMODEM(string ComPort, int BaudRate)
          {
              //串口初始化
              _sp.PortName = ComPort;
              _sp.BaudRate = BaudRate;
              _sp.NewLine = "\r\n";
              _sp.ReadTimeout = 2500;
              _sp.RtsEnable = true;
              //_sp.DtrEnable = true;
  
              //_sp.Handshake = Handshake.RequestToSendXOnXOff;
          }
          //属性
          private SerialPort _sp = new SerialPort();
   
          //public bool AutoDelMsg = false;             //设置是否在阅读短信后自动删除SIM卡内短信存档(建议在经常接收短信时设置为 true)
          //设计和运行时都可以读写,true 自动删除   false 不自动删除
          //默认为 true
  
          //端口号
          public string ComPort
          {
              get
              {
                  return _sp.PortName;
              }
              set
              {
                  _sp.PortName = value;
              }
          }
   
          //波特率
          public int BaudRate
          {
              get
              {
                  return _sp.BaudRate;
              }
              set
              {
                  _sp.BaudRate = value;
              }
          }
   
          //是否开启
          public bool IsOpen
          {
              get
              {
                  return _sp.IsOpen;
              }
          }
   
          //打开设备
          public void OpenComm()
          {
              try
              {
                  _sp.Open();
              }
              catch (Exception ex)
              {
                  throw (ex);
              }
          }
   
          //关闭设备
          public void CloseComm()
          {
              try
              {
                  _sp.Close();
              }
              catch (Exception ex)
              {
                  throw (ex);
              }
          }
   
          //发送AT指令,返回由设备返回的数据
          public string SendATCommand(string ATCmd)
          {
              _sp.DiscardInBuffer();
              try
              {
                  _sp.WriteLine(ATCmd);
              }
              catch (Exception ex)
              {
                  throw (ex);
              }
   
              try
              {
                  Thread.Sleep(100);
                  return _sp.ReadExisting();
              }
              catch (Exception ex)
              {
                  throw (ex);
              }
          }
   
          public string Write(byte[] byte1, int a, int b)
          {
              try
              {
                  _sp.Write(byte1, a, b);
              }
              catch (Exception ex)
              {
                  throw (ex);
              }
   
              try
              {
                  Thread.Sleep(100);
                  return _sp.ReadExisting();
              }
              catch (Exception ex)
              {
                  throw (ex);
              }
          }
      }
   
  }

文章来自网络,源代码以测试过可以使用,明天将给大家了解下PDU格式短信解析及PDU格式的编码用C#实现
源码附件:

AT指令调试器.rar


短信设备二次开发 2022-04-04 0 0

admin

  • 注册时间 : 2022-03-30 04:08:47
  • 邮箱地址 : admin@tenghengkeji.com
  • 此页面用于展示用户的基本上资料信息

回帖 ( 0 )