关于串口读取单片机返回的数据,请大神指点一下!

VIX1314 2017-01-02 03:03:13
void _serialPort_DataReceived(object sender,SerialDataReceivedEventArgs e),调用这个函数应该传什么参数呢?函数体为 if(DataReceived!=null){ byte[] _data=new byte[_serialPort BytesToRead]; _serialPort.Read(_data,0,_data.Length); DataReceived(sender,e,_data) } 这个方法应该怎样改写,还有传进来的参数应该是什么东西,怎样获取啊,请大神指点一下!
...全文
465 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
VIX1314 2017-01-03
  • 打赏
  • 举报
回复
引用 2 楼 依然冷暖的回复:
_data= _serialPort.Read(_data,0,_data.Length);
好的,那我是直接调用这个呢,还是再重新写接收的函数呢(就是你说的这个)
VIX1314 2017-01-03
  • 打赏
  • 举报
回复
引用 3 楼 依然冷暖的回复:
上位用什么语言写的?
上位机用的C#,有一个写好的接收数据的方法,用了委托和事件,但是我不会调用,在考虑怎样传参或者自己重新写一个
VIX1314 2017-01-03
  • 打赏
  • 举报
回复
引用 6 楼 依然冷暖的回复:
[quote=引用 5 楼 VIX1314的回复:][quote=引用 2 楼 依然冷暖的回复:]_data= _serialPort.Read(_data,0,_data.Length);
好的,那我是直接调用这个呢,还是再重新写接收的函数呢(就是你说的这个)[/quote] 正常.......+=.......(函数名字)定义事件之后 不需要手动调用 就跟单片机中断自动执行中断函数一样不需要调用 触发之后自动执行此事件内的方法[/quote] 我需要把单片机的返回值显示在程序界面,这个_data应该在哪个地方转化成string并显示在在程序界面呢,而且我用的两个类,一个是串口通信类,还有一个是自助柜开锁拼接开锁指令的类,在发送完开锁指令之后,单片机就会返回一个反馈码,但是我测试的_data里边并没有数据,用的方法是在串口通信类中定义全局变量rec,存储_data转化为string的值,之后在开锁的类中实例化串口通信类,调用全局变量rec
依然冷暖 2017-01-03
  • 打赏
  • 举报
回复
引用 5 楼 VIX1314的回复:
[quote=引用 2 楼 依然冷暖的回复:]_data= _serialPort.Read(_data,0,_data.Length);
好的,那我是直接调用这个呢,还是再重新写接收的函数呢(就是你说的这个)[/quote] 正常.......+=.......(函数名字)定义事件之后 不需要手动调用 就跟单片机中断自动执行中断函数一样不需要调用 触发之后自动执行此事件内的方法
依然冷暖 2017-01-02
  • 打赏
  • 举报
回复
上位用什么语言写的?
依然冷暖 2017-01-02
  • 打赏
  • 举报
回复
_data= _serialPort.Read(_data,0,_data.Length);
依然冷暖 2017-01-02
  • 打赏
  • 举报
回复
目测是事件订阅 串口数据达到指定条件自动触发此事件

27,383

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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