怎么用串口收发数据????????????

number321 2008-05-06 10:23:40
用serialport里面的write或writeline还不能发出数据吗?还应该加什么呢,我觉得我要加的都加了,怎么还是没有数据发出去呢??

用串口监视工具,再用网上任意下的一个串口调试工具,任意设置,在监视工具里都可以看到发送出了东西..但是我写的就没有...我也不知道是哪里出问题了...

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;

namespace serialport
{
public partial class Form1 : Form
{
SerialPort sp = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);
byte[] send_info = new byte[11] { 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb };
byte[] get_info =new byte[20];
String send_hex = null;
String get_hex = null;
public Form1()
{
InitializeComponent();
sp.Handshake = Handshake.None;
sp.WriteBufferSize = 20;
sp.ReadTimeout = 500;
sp.WriteTimeout = 500;
send_hex = null;
for (int i = 0; i < send_info.Length; i++)
{
send_hex += send_info[i].ToString("X2")+' ';
}
textBox2.Text = send_hex;
}

private void button1_Click(object sender, EventArgs e)
{
try
{
sp.Open();
sp.WriteLine("111111"); ////这里................
get_hex = null;
for (int i = 0; i < get_info.Length; i++)
{
get_hex += get_info[i].ToString("X2") + ' ';
}
listBox1.Items.Add(get_hex);
sp.Close();

}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}

其它的部分就不说了...关于串口的设置还缺少什么吗???
找了很长时间都找不出问题出在哪里...
...全文
172 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
number321 2008-05-10
  • 打赏
  • 举报
回复
...
我用虚拟串口试的时候是可以收发数据的....难道是之前的串口监视工具有问题???

不过对于一般的串口调试软件它都是有反应的啊...

松花皮蛋 2008-05-08
  • 打赏
  • 举报
回复
你不要实例话 SerialPort sp = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);

直接用SERIALPORT控件试试,看你程序发送的地方是对的.
lovexin 2008-05-08
  • 打赏
  • 举报
回复
Net/C#交流区〓 [7729746]
C# / .Net 交流社团 聊技术,项目合作。

[7729746] 〓 .Net/C#交流区〓 绝对 VS平台 牛群....

欢迎有项目经验的朋友入群交流。。.

附:招管理员(通过 beming 考核)
Blogs http://zhoufleru.cnblogs.com
ziseliuxingzh 2008-05-08
  • 打赏
  • 举报
回复
运行了你这个程序,可以通信的呀...楼主是你是串口有问题,重起电脑看看
ziseliuxingzh 2008-05-07
  • 打赏
  • 举报
回复
sp.WriteLine("111111"); ////这里................

不要直接发,搞个中间变量
number321 2008-05-07
  • 打赏
  • 举报
回复
调试的时候显示是没问题的,但是串口是不发数据的.....真的是少了什么吗??

为什么我看到的例子里面都是只要write就可以发送数据了呢
yagebu1983 2008-05-07
  • 打赏
  • 举报
回复
单步调试一下!!
otie 2008-05-07
  • 打赏
  • 举报
回复
UP
owennol 2008-05-07
  • 打赏
  • 举报
回复
sp.Handshake = Handshake.None;
sp.WriteBufferSize = 20;
sp.ReadTimeout = 500;
sp.WriteTimeout = 500;

设不设置应该都没啥关系?
Debug以下,sp.OPen()的时候有报错吗

111,120

社区成员

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

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

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