用VS做一个单片机的串口调试的form,用serialport类去做

xdwinter 2015-01-17 05:13:44
一、真心的问一下,用VS做一个串口调试的form,对单片机的,读取数据的时候要向发送地址和命令吗?怎么发送?我用serialport类去做,但是没有提到这个问题。
二、还有就是 private void serial_DataReceived(object sender,System.IO.Ports.SerialDataReceivedEventArgs e)的DataReceived事件不会写,我网上找的但是运行不了。代码如下:
private void serial_DataReceived(object sender,System.IO.Ports.SerialDataReceivedEventArgs e)

{
System.Threading.Thread.Sleep(120);//暂停120毫秒等一条完整的命令进入缓冲区
byte[] c = new byte[50];//用来接收缓冲区收到的数据
try
{
serial.Read(c, 0, 50);
}
catch { }
string oldOrder = "";
for (int i = 0; i < 50; i++)
{
string re = Convert.ToString(c[i], 16).ToUpper();
oldOrder = oldOrder + re;
textBox2.Text=oldOrder;
}
}
三、接受数据的怎么写啊?我看了几天看的挺混乱的,有没有高手直接上代码?万分感激!
...全文
943 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
牧童吃五谷 2017-08-25
  • 打赏
  • 举报
回复
只能提供一个建议,如果你的通讯要求比较简单的话,可以采用每隔50毫秒的定时器读取串口数据就行了
牧童吃五谷 2017-08-25
  • 打赏
  • 举报
回复
很不好意思,真心不会用C#编程,只会C++
xdwinter 2015-01-20
  • 打赏
  • 举报
回复
serial.Write(textBox1.Text); // 创建字节数组
            byte[] buf = new byte[7];
             // 读取缓冲区的数据到数组
             serial.Read(buf, 0, 7);
xdwinter 2015-01-18
  • 打赏
  • 举报
回复
问题仍未解决,求大神指点
xdwinter 2015-01-17
  • 打赏
  • 举报
回复
没有啊~
hhhh63 2015-01-17
  • 打赏
  • 举报
回复
看看msdn的例子 mySerialPort->DataReceived += gcnew SerialDataReceivedEventHandler(DataReceivedHandler); http://msdn.microsoft.com/zh-cn/library/system.io.ports.serialport.datareceived(v=vs.110).aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-2
xdwinter 2015-01-17
  • 打赏
  • 举报
回复
还有就是委托怎么用,好像挺重要的,但是不会

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧