C# 简单的串口读取
2013-04-21 15:20
363 查看
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO.Ports; namespace ComTest { public partial class ComTest : Form { SerialPort comport = new SerialPort(); public ComTest() { InitializeComponent(); } private void ComTest_Load(object sender, EventArgs e) { FindPort(); } private void bt_c_Click(object sender, EventArgs e) { if (comport.IsOpen == false) { comport.PortName = com.SelectedItem.ToString(); comport.BaudRate = 9600; comport.Parity = Parity.None; comport.DataBits = 8; comport.StopBits = StopBits.One; comport.Handshake = Handshake.None; try { comport.DataReceived += new SerialDataReceivedEventHandler(this.Data_Received); comport.Open(); bt_c.Text = "关闭"; } catch (Exception ex) { MessageBox.Show(ex.Message); } } else { comport.Close(); bt_c.Text = "打开"; } } private void Data_Received(object sender,SerialDataReceivedEventArgs e) { this.text.Text = comport.ReadLine(); } protected override void WndProc(ref Message m)//监视Windows消息 { const int WM_DEVICECHANGE = 0x219; //const int WM_DEVICEARRVIAL = 0x8000;//如果m.Msg的值为0x8000那么表示有U盘插入 //const int WM_DEVICEMOVECOMPLETE = 0x8004;//表示有U盘移除 if(m.Msg==WM_DEVICECHANGE) { FindPort(); } base.WndProc(ref m); //将系统消息传递自父类的WndProc } public void FindPort() { this.com.Items.Clear(); string[] portlist = SerialPort.GetPortNames(); this.com.Items.AddRange(portlist); com.SelectedIndex = com.Items.Count > 0 ? 0 : -1; } } }
相关文章推荐
- C#写的34401A串口232数据读取程序
- C#中使用SerialPort类实现简单串口编程
- C#串口读取GPS接收仪器的数据
- C# 通过SerialPort简单调用串口
- C#简单嵌套flash读取数据的实现代码
- C#读取串口数据实现无线手柄操作ROV
- C# 简单的操作xml读取与追加节点
- C#反射技术的简单操作(读取和设置类的属性)
- c# 读取串口——如何全部读取
- python简单程序读取串口信息的方法
- C#简单读取、改变文件的创建、修改及访问时间的方法
- c#读取串口
- C#实现xml文件的读取与写入简单实例
- C# TreeView读取数据库简单实例
- 一种c#读取文本比较简单的方法
- C#读取RS232串口扫描枪
- C#SerialPort如何读取串口数据并显示在TextBox上
- ASP.NET + C#读取ACCESS数据库内容的简单方法
- python简单程序读取串口信息的方法
- c#读取简单的TXT文件