新手,有C#串口通信-协议方面的书籍吗?推荐给,谢谢!

wxf801 2017-03-06 11:08:19
如题,上位机和下位机串口通信,有相关的书籍吗?
推荐下,谢谢!
...全文
357 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuggzu 2017-03-06
  • 打赏
  • 举报
回复
确实不需要书,硬件了解下后打开vs编程环境,using system.io.ports;后,敲serialport建个实例,再敲实例.后把每个函数,事件,属性等搞明白就行了。
  • 打赏
  • 举报
回复
呵呵 没有什么的 你只需要弄清楚 波特率 数据位 多少进制数等 然后发送读取就可以了 网上可以查serialPort使用方法即可,难点并非是读取,而是通信,一般下位机都会要你先发一个指令然后才会返回数据,你发送一个什么数据才能让他返回数据,要了解清楚。
wxf801 2017-03-06
  • 打赏
  • 举报
回复
引用 1 楼 diaodiaop 的回复:
这玩意需要什么书?就几行代码的事. 发送只需要一句代码.

sp.Write(data, 0, data.Length);
接收也只需要

int len = sp.BytesToRead;
  if (len != 0)
    {
    byte[] data = new byte[len];
   sp.Read(data, 0, data.Length);
    DataReceived(data);//自定义
     }
至于难点 无非是在DataReceived方法中 你对串口数据的解析... 这东西 其实就跟代码没关系了..主要看对方的"通讯协议文档"..某个字节 是什么意思 就OK了
嗯,说得是,主要是新手,就是对收到的数据解析这块没搞懂原理,下位机怎么发的,上位机是怎么个原理收的,怎么判断解析丢弃这块不怎么懂,所以想详细的弄弄清楚。
by_封爱 版主 2017-03-06
  • 打赏
  • 举报
回复
这玩意需要什么书?就几行代码的事. 发送只需要一句代码.

sp.Write(data, 0, data.Length);
接收也只需要

int len = sp.BytesToRead;
  if (len != 0)
    {
    byte[] data = new byte[len];
   sp.Read(data, 0, data.Length);
    DataReceived(data);//自定义
     }
至于难点 无非是在DataReceived方法中 你对串口数据的解析... 这东西 其实就跟代码没关系了..主要看对方的"通讯协议文档"..某个字节 是什么意思 就OK了

111,086

社区成员

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

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

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