在用c#写一个串口通讯程序,大致是这样的,用户点击“自动发送”按钮,程序先向串口发送一条数据,然后读取串口接收到的数据,并判断该数据是否达到要求,能达到要求的话,就继续再向串口发送第二条数据,然后继续读取串口接收到的数据,并处理判断该数据是否OK,OK的话,结束。注:向串口发送和读取操作分别放在两个不同的线程中,其中,读取是通过serialPort_DataReceived事件来实现,该事件是通过serialPort.ReceivedBytesThreshold=1来触发。现在问题是:我在发送完第一条数据,接收并处理完数据后,如何回到主程序来继续让它接着发送第二条命令?因为我的接收及处理数据是在serialPort_DataReceived事件中的。
大家能看明白吗?不明白的话,可以再问我哦。
大家能看明白吗?不明白的话,可以再问我哦。
解决方案 »
- 正则表达式取a标签里的东东
- 我用C# socekt的接受数据!!
- 怎么解析DataGridViewRow。在线等
- 在Winform中,定时刷新数据库,导致数据库很慢。有没有办法解决?能让数据库通知应用程序刷新吗?
- 菜鸟问题
- SQL server查询分析器可以执行update bb set bb.au_lname = aa.au_lname from abc..authors bb,pubs..authors aa where bb.au_id = aa.au
- 调查调查
- 关于合法性检查,高手请进!
- 为什么我的系统装上了.net开发环境不能用,坐等,解决马上结分!!
- 安装VisualStudio.NET后是不是不用装ASP.NET了
- C#图片编辑
- gridview 多条件查询问题
现在的问题是,我在用一个线程thdSendToSerial处理了10命令的发送后,接收事件serialPort_DataReceived也收到了回复的11命令,然后处理11数据,正确的话,再接着要发12命令,可是我11命令的处理是在DataReceived事件中的,我如何让程序在处理完数据后,再回到主程序来继续12命令的发送。