c# - 如何在第一次或第二次通话时从 USB 调制解调器串行端口获取来电显示
问题描述
我知道这是个老问题。我已经阅读了所有解决方案,它的工作,但不是很好。有时它显示来电显示,有时不显示。只显示铃声。有什么方法可以确保每次都获取来电显示。这是我目前正在使用的代码
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SetModem();
}
public void SetModem()
{
sp = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One);
this.sp.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
sp.Open();
}
void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
Thread.Sleep(500);
string x = sp.ReadLine(); // will read to the first carriage return
this.BeginInvoke(new SetTextDeleg(si_DataReceived), new object[] { x });
}
catch
{ }
}
private void si_DataReceived(string data)
{
dataReceived = data.Trim();
richTextBoxEx1.Text = dataReceived;
// Do whatever with the data that is coming in.
}
} }
解决方案
推荐阅读
- node.js - AWS S3 上传后,图像损坏
- future - Vapor:在所有修改完成之前返回路由
- c# - 引导类(卡)在 asp.net 视图中不起作用
- android - 如何在统一集线器上激活构建和运行,适用于 android
- c# - DateTime.Now.ToString("M/d/yyyy HHmmss") 仅在部署位置返回月份
- c# - 如何使用构造函数访问控制器中的数据库连接
- scala - 试图理解 Scala 中的 if 语句
- google-cloud-firestore - Firestore 规则:仅当文档字段为 false 时才显示文档
- microsoft-graph-api - Microsoft 组/团队:无法为 Planner 应用创建计划
- django - python for 带有 if 的语句