C#串口通信中如何接收串口的数据

zym19825 2012-09-18 07:37:14
刚刚学习C#串口通信,不知道怎么接收数据,从网上查了的代码页看不懂,那个朋友可以帮帮忙
serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);这句是什么意思
...全文
1224 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
火星大能猫 2012-09-24
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]

谢谢你们,很感谢,看了你们的回复我受益很多
[/Quote]
那就结贴吧.
zym19825 2012-09-22
  • 打赏
  • 举报
回复
谢谢你们,很感谢,看了你们的回复我受益很多
火星大能猫 2012-09-21
  • 打赏
  • 举报
回复
就是微软封装的串口接收到数据后会自动触发的一个事件.
知擎物联 2012-09-21
  • 打赏
  • 举报
回复
算了,我还是贴我自己的代码吧


SerialPort _DeviceCom = new SerialPort();
_DeviceCom.DataReceived += new SerialDataReceivedEventHandler(_DeviceCom_DataReceived);

void _DeviceCom_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//这里处理数据
int DataCount = _DeviceCom.BytesToRead;
byte[] ReCMD = new byte[DataCount];//存放接收到的数据
_DeviceCom.Read(ReCMD, 0, DataCount);
}
知擎物联 2012-09-21
  • 打赏
  • 举报
回复
serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);

定义处理函数:

void _DeviceCom_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//这里处理数据
int DataCount = _DeviceCom.BytesToRead;
byte[] ReCMD = new byte[DataCount];//存放接收到的数据
serialPort1.Read(ReCMD, 0, DataCount);
}
nonocast 2012-09-21
  • 打赏
  • 举报
回复
给你一个参考,
http://nonocast.cn/gsm-modem/
LAN_YT 2012-09-21
  • 打赏
  • 举报
回复
推荐看看这个,我的串口通信入门学习就是看的这个,写的很好,很有帮助:
http://topic.csdn.net/u/20100908/17/2ddd33e7-6777-49c3-bba8-2988cf15af4e.html
卧_槽 2012-09-21
  • 打赏
  • 举报
回复
DataReceivedHandler方法中接收数据。
leafmao 2012-09-21
  • 打赏
  • 举报
回复
serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
这句的意思是为serialPort1添加一个DataReceived事件,就是当串口有数据进来的时候,就会触发这个事件的。
你想接收数据的话,在DataReceived事件里添加接收数据的方法就好了。
mjp1234airen4385 2012-09-21
  • 打赏
  • 举报
回复
已经说的很清楚了。
就是当有数据到当串口时,出发该事件。
你在其中写代码接收数据。
zym19825 2012-09-20
  • 打赏
  • 举报
回复
谢谢了
zym19825 2012-09-20
  • 打赏
  • 举报
回复
哦,这样啊
zym19825 2012-09-19
  • 打赏
  • 举报
回复
怎么显示接受的数据,我用richTextBox1.Text = sp.ReadExisting();这句让数据显示在接收框里,但老是异常
yanasdf789 2012-09-19
  • 打赏
  • 举报
回复
假如接收到数据就触发 SerialDataReceivedEventHandler 事件
yiaiyang 2012-09-19
  • 打赏
  • 举报
回复
+= new SerialDataReceivedEventHandler(DataReceivedHandler); 是注册事件
yewizard 2012-09-18
  • 打赏
  • 举报
回复
应该是串口新接收到的数据加在串口原有数据后面,而不是覆盖
zym19825 2012-09-18
  • 打赏
  • 举报
回复
+= new SerialDataReceivedEventHandler(DataReceivedHandler);是什么意思啊?不好意思,麻烦了
早起晚睡 2012-09-18
  • 打赏
  • 举报
回复
DataReceived 表示将处理 SerialPort 对象的数据接收事件的方法。

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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