C#串口通信的初学

 

今天(2010-3-20)学习了一下C#的串口编程,下面总结一下学习的过程。

在编程的过程中用到了几个工具:串口助手,VSPM虚拟串口,Configure Virtual Serial Port Driver

刚开始,从网上搜索了一下关于C#串口编程的资料如:http://blog.csdn.net/redhaste/archive/2009/04/21/4097863.aspx

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
namespace 串口实例 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnSend_Click(object sender, EventArgs e) { //手动发送 SendMsg(); } private void SendMsg() { this.serialPort1.Write(this.txtSend.Text); } #region 控制输入数字 private void ComboBox_TextUpdate(object sender, EventArgs e) { ComboBox cbo = sender as ComboBox; int n; if (!int.TryParse(cbo.Text, out n)) { cbo.Text = cbo.Text.Substring(0, cbo.Text.Length - 1); } else { if (n <= 0) { cbo.Text = cbo.Text.Substring(0, cbo.Text.Length - 1); } } } private void txtTime_TextChanged(object sender, EventArgs e) { TextBox text = sender as TextBox; int n; if (!int.TryParse(text.Text, out n)) { text.Text = text.Text.Substring(0, text.Text.Length - 1); } else { if (n <= 0) { text.Text = text.Text.Substring(0, text.Text.Length - 1); } else { this.timer1.Interval = n; } } } #endregion /// <summary> /// 清空显示文本框 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnClear_Click(object sender, EventArgs e) { this.txtRecive.Clear(); } private void timer1_Tick(object sender, EventArgs e) { SendMsg(); } private void cbtSend_CheckedChanged(object sender, EventArgs e) { CheckBox check = sender as CheckBox; if (check.Checked) { this.timer1.Start(); } else { this.timer1.Stop(); } } /// <summary> /// 接收返回的数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { string a=""; if (this.cbkShow16.Checked) { //十六进制显示 a = this.serialPort1.ReadExisting(); } else { //字符串显示 byte[] by = new byte[this.serialPort1.BytesToRead]; this.serialPort1.Read(by, 0, this.serialPort1.BytesToRead); a = Encoding.ASCII.GetString(by); } this.txtRecive.AppendText(a); this.txtRecive.ScrollToCaret(); } private void Form1_Load(object sender, EventArgs e) { //加载 this.serialPort1.RtsEnable = true; button1_Click(this.btnOpen, null); } private void button1_Click(object sender, EventArgs e) { Button btn = sender as Button; if (btn.Text == "打开端口") { try { this.serialPort1.PortName = this.cboPortName.Text; this.serialPort1.BaudRate = Convert.ToInt32(this.cboRaudRate.Text); this.serialPort1.DataBits = Convert.ToInt32(this.cboDataBits.Text); this.serialPort1.ReceivedBytesThreshold = Convert.ToInt32(this.cboReceivedBytesThreshold.Text); this.serialPort1.Open(); btn.Text = "关闭端口"; } catch { MessageBox.Show("打开端口失败,请检查端口是否被占用."); } } else { this.serialPort1.Close(); btn.Text = "打开端口"; } } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { try { this.serialPort1.Close(); } catch { } } } }
### 回答1: 请问您说的"c"指的是什么?如果是指C语言,那么C语言是一种通用的编程语言,由美国计算机科学家丹尼斯·里奇于20世纪70年代开发。C语言以其简洁、高效的特点广泛应用于软件开发领域。 C语言具有许多优点,首先是语法简单、清晰明了,易于学习和理解,这使得它成为很多初学者入门编程的首选语言。其次,C语言具有强大的控制结构,可以更灵活地编写程序,尤其对于底层开发和系统编程非常适用。此外,C语言还提供了丰富的库函数,方便开发者重复使用已经编写好的代码。 C语言在各个操作系统平台上都有着广泛的应用,包括Windows、Linux、Unix等。许多著名的软件和操作系统,如UNIX操作系统、MySQL数据库、Linux操作系统等都是用C语言编写的。 在C语言的基础上,也衍生出了许多其他的编程语言,如C++、C#等,这些编程语言都是在C语言的基础上进行扩展和优化,为开发者提供更多的功能和便利。 总而言之,C语言是计算机编程领域中非常重要的一种语言,尤其在嵌入式开发、系统编程和网络编程等领域具有广泛的应用。无论是初学者还是专业开发者,学习和掌握C语言都是很有价值的。 ### 回答2: 不好意思,您的问题只包含了一个字母"C",很难给出确切的回答。请提供更多的背景信息或明确您需要的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值