c#串口接收数据问题

jiayidan6 jiayidan6 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
private void buttonVoltage_Click(object sender, EventArgs e)
{
byte addr=0;
string textstr;
textstr = textBoxAddress.Text;
addr = StringToHex(textstr);
byte[] bytes=new byte[3];
bytes[0]=addr;
bytes[1]=0x60;
bytes[2]=TwoNumXor(bytes[0],bytes[1]);
try
{
SP.Write(bytes, 0, 3);
MessageBox.Show("数据发送成功");
}
catch
{
MessageBox.Show("数据发送失败");
}
}
上面是串口发送数据的代码,下面是串口接收数据的代码:
private void SP_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string lStrRecv = "";
int bytesToRead = SP.BytesToRead;
if (SP.IsOpen )
{
byte[] lAryBytes = new byte[bytesToRead];
int lIntLen = SP.Read(lAryBytes, 0, lAryBytes.Length);
if (lIntLen > 0)
{
byte[] lAryData = new byte[lIntLen];
for (int i = 0; i < lIntLen; i++)
{
lAryData[i] = lAryBytes[i];
}
lStrRecv = System.Text.Encoding.Default.GetString(lAryData);
}
this.textBoxVtest.Invoke(
new MethodInvoker(
delegate
{
this.textBoxVtest.AppendText(lStrRecv.ToUpper());
//this.textBoxVtest += "";
this.textBoxVtest.Text+= lStrRecv;
}));

}
}
发送数据后应该就会触发串口接收数据private void SP_DataReceived(object sender, SerialDataReceivedEventArgs e),可是我发送数据后,单步调试都没有跑到private void SP_DataReceived函数里,好像是根本没有触发串口的数据接收。
请高手赐教我怎么才能收到我发的数据呢?谢谢!
...全文

相关推荐

评论 16
收藏 已收藏
分享
返回顶部
jiayidan6
C# 111,129 成员 642,539 内容