社区
.NET Framework
帖子详情
serailport数据发送接收?
water_zym
2009-08-14 11:29:29
小弟是个新手,请高手帮忙解答下我的疑惑:
如果我使用com1口进行数据的发送,那在com1口中能取到发送的数据、还是com1口发数据com2口接收数据?
这个问题我一直没有搞明白。
...全文
75
6
打赏
收藏
serailport数据发送接收?
小弟是个新手,请高手帮忙解答下我的疑惑: 如果我使用com1口进行数据的发送,那在com1口中能取到发送的数据、还是com1口发数据com2口接收数据? 这个问题我一直没有搞明白。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flyerwing
2009-08-14
打赏
举报
回复
哪个应该不用注释的,我也不知道你用的上。
那个是串口的。
hero7750
2009-08-14
打赏
举报
回复
串口有一个发送缓冲区和一个接收缓冲区,你要调试的话可以下载一个虚拟串口vspm
water_zym
2009-08-14
打赏
举报
回复
楼上的,我看了你的程序代码,麻烦能给点注释出来吗?
flyerwing
2009-08-14
打赏
举报
回复
public class SPReadEventArgs:EventArgs
{
private string msg = "";
public string Msg
{
get
{
return msg;
}
set
{
msg = value;
}
}
}
public delegate void SPReadedHandler(object sender,SPReadEventArgs e);
public class SerialPortOfMine
{
public SerialPortOfMine()
{
this.Start();
}
private System.IO.Ports.SerialPort sp = new System.IO.Ports.SerialPort();
public System.IO.Ports.SerialPort GetSp
{
get
{
return sp;
}
set
{
sp = value;
}
}
private System.Threading.Thread thd_sp = null;
public System.Threading.Thread GetThd_sp
{
get
{
return thd_sp;
}
set
{
thd_sp = value;
}
}
private bool state_sp = false;
public bool State_sp
{
get
{
return state_sp;
}
set
{
state_sp = value;
}
}
private string encoding_sp = "gb2312";
public string Encoding_sp
{
get
{
return encoding_sp;
}
set
{
encoding_sp = value;
}
}
private bool state = false;
public bool State
{
get
{
return state;
}
}
public void Start()
{
thd_sp = new System.Threading.Thread(new System.Threading.ThreadStart(this.Initialize));
thd_sp.Start();
}
private void Initialize()
{
state = true;
sp.PortName ="com1";
sp.BaudRate = 9600;
sp.DataBits = 8;
sp.StopBits = System.IO.Ports.StopBits.One;
sp.Parity = System.IO.Ports.Parity.None;
sp.ReadTimeout = 6000;
sp.Encoding = System.Text.Encoding.GetEncoding(this.encoding_sp);
try
{
sp.Open();
this.state_sp = true;
while (state)
{
if (sp.IsOpen == false)
{
state = false;
break;
}
else
{
string str = sp.ReadExisting();
System.Threading.Thread.Sleep(300);
if (str.Length > 0)
{
SPReadEventArgs ea = new SPReadEventArgs();
ea.Msg = str ;
SPReceivedData = new SPReadedHandler(this, ea);
}
else
{
SPReadEventArgs ea = new SPReadEventArgs();
ea.Msg = "没有数据也要促发此事件!";
this.SPReceivedData(this, ea);
//SPReceivedData = new SPReadedHandler(this, ea);
}
}
}
}
catch (System.Exception ept)
{
throw new System.Exception("开启串口出现异常:"+ept.Message);
}
finally
{
sp.Close();
this.state_sp = false;
thd_sp.Abort();
}
}
private void Stop()
{
sp.Close();
state_sp = false;
thd_sp.Abort();
}
public event SPReadedHandler SPReceivedData;
}
SerialPortOfMine sp = new SerialPortOfMine();
sp.SPReceivedData += new SPReadedHandler(this.alert);
private void alert(object sender,SPReadEventArgs e)
{
MessageBox.Show(e.Msg);
}
看这个成不?我菜鸟,没地方试。不知道能不能用。
water_zym
2009-08-14
打赏
举报
回复
楼上发的什么东西?
C# Winform 基于Serial
Port
类实现串口通信,ASCII
数据
收发(打开、关闭、
接收
、
发送
)
这个项目可能包括一个窗体,上面有打开、关闭串口的按钮,一个文本框用来显示
接收
到的
数据
,另一个文本框用来输入要
发送
的
数据
,以及
发送
按钮。通过查看和运行这个示例,你可以更直观地理解如何在实际应用中使用`...
检测serial
port
是否正常
综上所述,为了检测串口通信是否正常,我们可以编写一个C#应用程序,利用VS2010中的Serial
Port
类进行串口配置、
数据
发送
和
接收
,通过比较
发送
和
接收
的
数据
来判断串口通信的稳定性。在实际操作中,确保正确设置串口号...
Serial
Port
Terminal(c#串口控件使用高级示例)
在`Serial
Port
Terminal`项目中,可能还包括了用户界面设计,如显示
接收
的
数据
、设置串口参数的界面,以及
发送
数据
的按钮等。这些界面元素的交互和逻辑控制也是理解示例的关键部分。 总的来说,`Serial
Port
Terminal`...
Android 串口通信库源码
- **
数据
传输**:接着,可以使用`sendData()`方法
发送
数据
到串口,并通过注册监听器或回调函数,
接收
`readData()`方法返回的串口
接收
到的
数据
。 - **关闭串口**:当不再需要串口通信时,应调用`close()`方法关闭...
C# Serial
Port
HEX
数据
发送
和
接收
} private void btSendDate_Click(object sender, EventArgs e) //HEX
数据
发送
{ byte[] data = new byte[1]; //
发送
数据
字符数组,每次
发送
一个字节的
数据
string strs = tbWriteDate.Text.Replace(" ", "")....
.NET Framework
17,748
社区成员
24,327
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章