Aiasc 2021-09-19 17:14 采纳率: 0%
浏览 46

C#串口通讯数据问题

最近在研究C#串口遇到这么一个问题,具体如下

//按下后读取下位机的电压参数
private void button1_Click(object sender, EventArgs e)
{
    Port.Write(Data1);    //读取下位机电压参数
}

//按下后读取下位机的电流参数
private void button2_Click(object sender, EventArgs e)
{
    Port.Write(Data2);    //读取下位机电流参数
}

//定时读取下位机数据
private void timer1_Tick(object sender, EventArgs e)
{
    Port.Write(Data3);    //下位机反馈当前位置
}

//数据接收事件
public void PortDataReceived(object Sender, SerialDataReceivedEventArgs e)
{
  //做一些数据完成性判断...
}

假设我现在与下位机通讯,timer1在实时读取下位机的位置参数,PortDataReceived事件中接收处理,应该也是正常收到应答的当前位置数据,那假设我随机按下button1或button2,这时候就能难分清楚接收到的数据是对应哪一个了,就不知道接收的数据到底是谁的,请问一下这情况怎么解决,谢谢



  • 写回答

2条回答 默认 最新

  • 全栈极简 博客专家认证 2021-09-19 17:16
    关注

    可以指定多个PortDataReceived,也可以通过传参来判别。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月19日

悬赏问题

  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率