2016-05-30 57 views
0

我需要创建一个读取COMX来电号码的Windows应用程序,以下是我的代码有:Windows应用程序从RJ11端口读取来电号码

public partial class frmMain : Form 
{ 

    public frmMain() 
    { 
     InitializeComponent(); 
     if (!serialPort1.IsOpen) 
     { 
      try 
      { 
       serialPort1.Open(); 
      } 
      catch (System.Exception ex) 
      { 
       MessageBox.Show(ex.ToString()); 
      } 
     } 
    } 

delegate void OutputUpdateDelegate(string data); 
private void OutputUpdateCallback(string data) 
{ 
    txtReceive.Text += data; 
} 




    private void DataRec(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) 
    { 
     try 
     { 
      string data = serialPort1.ReadExisting(); 
      txtReceive.Invoke(new OutputUpdateDelegate(OutputUpdateCallback),data);     
     } 
     catch (System.Exception ex) 
     { 
      MessageBox.Show(ex.ToString()); 
     } 
    }  

} 

,因为我不有一个调制解调器测试,我需要知道如何创建一个假的测试呼叫,以及如何只读取电话号码,而不是读取来自“ReadExisting()”方法的整个字符串,除了拆分字符串还有其他方法?如果没有传入的字符串是什么样子?

请指教。

+0

获取调制解调器的编程手册以获取响应样本。您的RJ11电缆是否在您的计算机中使用9/25针连接器,USB或以太网连接?测试代码的消息部分的简单方法是与客户端和服务器建立虚拟的TCP连接。服务器将模拟调制解调器和客户端您的PC发送消息。 – jdweng

+0

谢谢@jdweng谢谢你的提示,我搜索虚拟TCP连接,我找到一种方法来测试超级终端,但我不能做一个假的电话(例如输入一个数字+999999999)所有的东西我能够在终端上写下代码,并在代码中获取价值。至于回答你的问题我打算使用的调制解调器有使用9/25针连接器的RJ11端口。 –

+0

@jdweng,对不起,我打算使用的调制解调器有RJ11端口,而不是上面提到的任何一种。 –

回答

0

我终于买了一个与串口通信的主叫号码产品,并提供了以下呼叫者号码:R99999999E和我做了相应的代码修改以读取号码,并且所有事情都按预期工作。

注意:TRENDnet调制解调器“TFM-561u”不支持来电显示,实际上他们的支持回复我说TRENDNet没有支持来电显示的产品。

相关问题