喵宅苑 MewoGarden × 技术宅社区II | Z站 Z Station 棒棒哒纯文字二次元技术社区

正文

关于PC双串口通信……显示端口被关闭_(:з」∠)_

作者:纯净物
求帮助QVQ我开着串口啊……用VSPD设置了两个虚拟相连的串口,然后使用串口调试助手也可以互相发送信息。但是在C#里面设置老是显示——serialPort1.Write(outdata);端口被关闭…… 我也算是按教材打的代码?= = 因为第一片段是利用SeriaPort控件查询方式,没有serialPort2_DataReceived,然后事件又需要绑定……第二片段,没有timer控件,但是之前给出的设计窗口又有它的存在……所以我两个结合了(。 代码如下 [mw_shl_code=csharp,true]using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication0410 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //串口初始化 private void Form1_Load(object sender, EventArgs e) { serialPort1.PortName = "COM1"; serialPort1.BaudRate = 9600; serialPort1.Open(); serialPort2.PortName = "COM2"; serialPort2.BaudRate = 9600; serialPort2.Open(); } //发送数据 private void button1_Click(object sender, EventArgs e) { string outdata = textBox1.Text; if (outdata == "") { MessageBox.Show("发送的数据不能为空!", ""); } serialPort1.Write(outdata); } //接收数据 private void timer1_Tick(object sender, EventArgs e) { string data; data = serialPort2.ReadExisting(); textBox2.Text = textBox2.Text + data; } private void serialPort2_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { string data; data = serialPort2.ReadExisting(); this.Invoke(new EventHandler(timer1_Tick)); } //关闭串口,退出程序 private void button2_Click(object sender, EventArgs e) { serialPort1.Close(); serialPort2.Close(); Close(); } } }[/mw_shl_code] 现在老大就坐我对面,简直要飙泪了(。

回复

写过串口

作者:番茄星人
没用过C#写过串口 估计三种情况 1.需要管理员权限 2.串口打开失败(加句输出语句检查串口打开是否成功了) 3.指定的串口被占用了(可能是程序中打开了串口退出时没有关闭上导致的)
查看回复
上一页
下一页
0%
站点地图友情链接:
喵宅苑
喵空间社区程序
喵宅苑 静态版
宅喵RPG地图编辑器
络合兔
Lanzainc
技术宅
小五四博客
莉可POI
Mithril.js
枫の主题社
Project1
午后少年
机智库
七濑胡桃
xiuno
幻想の日常
魂研社
Nothentai
0xffff
欲望之花
泽泽社长
淀粉月刊
HAYOU
红客联盟
异次元
轻之国度
神奇宝贝新生代
游戏狗
口袋双子星
我的世界论坛
梦次元
动漫东东
动漫国际
精艺论坛
78动漫
吐槽弹幕网
漫客栈