C#的串口发送指令怎么无法成功呢??????

夏日冬瓜茶 2013-09-05 10:39:51
我是做测试的,没做过太多的编程,想请教一下大家,

有一台设备可以通过串口终端(如Putty,secureCRT)来输入命令,比如用命令"A10"实现一个开关的操作,在串口终端上不会显示我输入的命令"A10",会返回一个执行结果.

我想做一个简单的C#程序,用这个程序代替键盘输入,用个按钮实现最基本的功能。

可我试了用字符串输入serialPort1.write("A10"+"/r/n")和serialPort1.writeline("A10"+"/r/n")设备都没反应。用字符数组操作好像也不行.

这样的通过串口输入命令的程序要怎么实现呢?


谢谢!
...全文
440 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
夏日冬瓜茶 2013-09-09
  • 打赏
  • 举报
回复
引用 9 楼 yuwenge 的回复:
指令没对齐。
没大看懂 ,能不能具体一点啊?
夏日冬瓜茶 2013-09-09
  • 打赏
  • 举报
回复
非常感谢楼上几位的回复! 非常感谢楼上两位大侠提供的软件,我正在研究调试.
夏日冬瓜茶 2013-09-09
  • 打赏
  • 举报
回复
引用 5 楼 sunshuang1s 的回复:
http://download.csdn.net/detail/wuyazhe/2360835 之前做用来测试过,可用。如果用这个不行你就该检查你的串口了
小石头,这段代码我有点疑惑,ports端口可以读到,baudrate是怎么得到的呢? //初始化下拉串口名称列表框 string[] ports = SerialPort.GetPortNames(); Array.Sort(ports); comboPortName.Items.AddRange(ports); comboPortName.SelectedIndex = comboPortName.Items.Count > 0 ? 0 : -1; comboBaudrate.SelectedIndex = comboBaudrate.Items.IndexOf("9600");
卧_槽 2013-09-06
  • 打赏
  • 举报
回复
指令没对齐。
知擎物联 2013-09-06
  • 打赏
  • 举报
回复
引用 3 楼 u011993483 的回复:
谢谢楼上的回复哦。 其实我想要的没那么复杂,就是点一个按钮发送一条命令就行了。现在不知道这条命令应该怎样发出去,字符串呢,还是数组呢?
你说是想用这个程序代替键盘输入,而超级终端的功能就是这个。
缭绕飘渺 2013-09-06
  • 打赏
  • 举报
回复
确认你的串口属性设置是正确的 writeline本身就会换行,不用你加换行了
lovetsfuer 2013-09-06
  • 打赏
  • 举报
回复
2楼的是可以的。 如果你用串口监控精灵监控你串口的话,看到的应该都是以16进制发送给串口的,你是不是要转换? 我用到的串口数据都是以字节为单位的,比如01,0B,你这A10是2个字节还是? 仅供参考
0o小石头o0 2013-09-06
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/wuyazhe/2360835 之前做用来测试过,可用。如果用这个不行你就该检查你的串口了
0o小石头o0 2013-09-06
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/wuyazhe/2360835
夏日冬瓜茶 2013-09-06
  • 打赏
  • 举报
回复
谢谢楼上的回复哦。

其实我想要的没那么复杂,就是点一个按钮发送一条命令就行了。现在不知道这条命令应该怎样发出去,字符串呢,还是数组呢?
知擎物联 2013-09-05
  • 打赏
  • 举报
回复
C#通讯调试工具v3.0 这个工具的3.1版准备加入串口超级终端功能,目前已经开发完毕,但其他准备在3.1中发布的功能还没调试好。如果你现在要用,请发邮件到我邮箱: yq@yyzq.net
知擎物联 2013-09-05
  • 打赏
  • 举报
回复
你要的就是一个串口超级终端吧。

110,530

社区成员

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

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

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