ssisiss
2015-04-13 05:53C#serialPort实现串口通信
我想实现的是上位机发送数据,然后接收数据,然后上位机处理数据,再继续发送数据一直循环到结束。
目前的问题就是,我通过以下代码实现的是在循环调用测试函数,循环运行完了以后,才开始读取数据
public Form1()
{
InitializeComponent();
serialPort1.DataReceived += serialPort1_DataReceived;
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
this.Invoke(new EventHandler(Read));
}
private void Read(object s, EventArgs e)
{
int n = serialPort1.BytesToRead;
byte[] buf = new byte[n];
serialPort1.Read(buf, 0, n);
data_catched=true;
}
public bool test_CA()
{//测试CA
//定义附加信息
Byte[] test_CA_add = new Byte[1] { 0x00 };
//发送命令帧
Write(test_cmd_CA, test_CA_add);//发送数据函数测试无误,并在发送完后立刻有数据返回
byte test_CA_data;
//时延等待接收数据
for (int i = 0; !data_catched && i < 300; i++)
{
Thread.Sleep(10);
}
if (!data_catched)
{
//处理数据
}
data_catched=false;
}
- 点赞
- 回答
- 收藏
- 复制链接分享
2条回答
为你推荐
- Unity 如何解析接收到的串口数据
- c#
- 1个回答
- C#如何把带小数点的字符串转化为字节数组,并且把每一位分割为单字节发送?
- c#数组
- c#
- c#字符串
- c#串口通信
- 3个回答
- C#多个窗口使用用一个串口接受数据问题
- serialport
- 串口通信
- c#
- 3个回答
- C# serport 与 stc80c51 单片机通信
- 通信 例子
- 单片机串口通信原理
- c#
- 1个回答
- c#做上位机串口发送接收问题,求指点!
- 串口通信
- c#
- 2个回答
换一换