一个最最基础的 串口通信 程序!!!

最近正在学c#_还不是很熟悉_只是有点java的基础

SerialPort类 的介绍

http://msdn.microsoft.com/zh-cn/library/system.io.ports.serialport(v=vs.80).aspx

这个例子网上有,哎....我一直以为 serailport 不是一个控件呢!

我现在疑问?_难道 所有的再c#可以引用的类,都对应一个控件吗?

还有c#的添加监听器的方法,该如何添加呢?

如果是控件的话,直接双击控件就可以添加上监听器,但是对于一般的对象的话就得

用+=这个方法添加....还没怎么看c#,慢慢来

关于这个程序是有bug的,而且我也没有修正,因为串口对象的 readline是个阻塞方法,所以当你运行到这个语句的时候,如果读不到数据的话就会导致整个程序假死,只能强制终止 这个程序了


  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.IO.Ports;//新调用的类所在的命名空间
  10. namespace 串口控制
  11. {
  12. public partial class Form1 : Form
  13. {
  14. //我用了控件,所以不用初始化对象了!!
  15. //SerialPort sPort;//声明一个串口类对象,该对象的初始化我放到了
  16. public Form1()
  17. {
  18. InitializeComponent();
  19. }
  20. //发送按钮的响应时间
  21. private void button1_Click(object sender, EventArgs e)
  22. {
  23. //对于中文的话,要先对其进行编码,将其转换成 _Base64String ,否则你得不到中文字符串的
  24. byte[] data = Encoding.Unicode.GetBytes(textBox1.Text);
  25. string str = Convert.ToBase64String(data);
  26. sPort.WriteLine(str);
  27. MessageBox.Show("数据发送成功","系统提示");
  28. }
  29. private void button2_Click(object sender, EventArgs e)
  30. {
  31. //解码然后将字符串赋值给 文本框的 文本区
  32. byte[] data = Convert.FromBase64String(sPort.ReadLine());
  33. textBox2.Text = Encoding.Unicode.GetString(data);
  34. }
  35. private void Form1_Load(object sender, EventArgs e)
  36. {
  37. sPort.PortName = "com3";//串口的portname
  38. sPort.BaudRate = 9600;//串口的波特率
  39. sPort.Open();
  40. }
  41. private void Form1_FormClosing(object sender, FormClosingEventArgs e)
  42. {
  43. //关闭串口
  44. sPort.Close();
  45. }
  46. }
  47. }

C#_串口通信_SerialPort_一个最基础的串口程序相关推荐

  1. javarxtx串口接收时数据会分成好几段_【STM32】串口通信基本原理(超基础、详细版)...

    STM32F1xx官方资料: <STM32中文参考手册V10>-第25章通用同步异步收发器(USART) 通信接口背景知识 设备之间通信的方式 一般情况下,设备之间的通信方式可以分成并行通 ...

  2. 【STM32】串口通信基本原理(超基础、详细版)

    STM32F1xx官方资料: <STM32中文参考手册V10>-第25章通用同步异步收发器(USART) 通信接口背景知识 设备之间通信的方式 一般情况下,设备之间的通信方式可以分成并行通 ...

  3. matlab gul介绍及串口通信实现,Matlab - GUl介绍及串口通信实现(转)

    新建Blank GUI. 在新建Blank GUI界面中,包含了一般的界面元素,如菜单.按钮.坐标轴.控件等.添加必要的串口通信参数设置按钮. 2 串口数据发送与接收功能实现 2.1 建立串口通信流程 ...

  4. 串口通信协议和Linux下的串口编程

    一.串口通信介绍: 串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节,尽管比按位字节(byte)的并行通信慢,但是串口可以使用一根线发送数据的同时 ...

  5. 基于matlab的串口通信,基于Matlab GUI的单片机串口与PC的通信 附源码

    我也是最近学习单片机和MATLAB的小白平时在看学习的时候 下载了一些有价值的参考文献 概述采用51单片机,atmel的STC89C52RC芯片,主要用到的是七段数码管用来做一个时钟,程序编写软件为k ...

  6. HX530系列串口通信高频RFID读写器|读卡器串口调试工具测试读卡操作说明

    本文将重点介绍HX530系列串口通信高频RFID读写器|读卡器串口调试工具测试读卡操作说明. 1.打开SDK 中的Demo,使用串口工具,如下图 2.在串口调试工具设置相关参数 2.1.波特率:960 ...

  7. delphi 串口通信发送_STM32第五章串口通讯详解

    点击上方"果果小师弟",选择"置顶/星标公众号"干货福利,第一时间送达! 串口通信是串行通信里面的异步方式.串行通信是相对于并行通信来说的.串口是一个事实存在的 ...

  8. 实现串口通信数据帧打包与解析,串口通信可靠传输,屡试不爽的数据封包与状态机数据解析程序

    提示:本文所述内容为实际项目中多次实践的成果,稳定可靠,且方便移植,适合多种通信场景. 文章目录 前言 一.实现思路 一.发送端 1.1 实现过程 1.2 实现代码 1.2.1 定义数据发送函数 1. ...

  9. MFC串口通信设置及发送、中断接收程序

    前一段做了个串口通信小软件,就是现实利用上位机软件通过串口通信对下位机(单片机)通信,校时LED点阵万年历,省去按键调节的麻烦,方便校时,省时省力. 为右击 串口通信控件,添加关联控件变量CMSCom ...

  10. 在串口通信开发中实现自动查找串口端口的方法

    开发工具:visual studio 2010 本机可用串口信息如下: 1 .查询注册表 查询注册表的方法是比较常见的方法,通过查看" HKEY_LOCAL_MACHINE\HARDWARE ...

最新文章

  1. 商务部数据揭示了零售行业的哪些新趋势?
  2. 最简单的分形图像生成算法
  3. 中国半光纸市场供需形势分析及运行环境研究报告2021年版
  4. NSOperation的使用细节 [1]
  5. 中国移动研究院2020春招技术综合JAVA在线编程题第二题
  6. php组件是啥,浅谈PHP组件、框架以及Composer
  7. 前端工程师应该掌握哪些技能才方便找工作?
  8. 太辛苦的钱,我建议不要挣
  9. python从网址爬图片协程_python 用 gevent 协程抓取海量网页
  10. Facebook 默认开发环境采用 VS Code
  11. Mysql中的delimiter详解
  12. java awt jar_【Java学习笔记】操作JAR文件
  13. 大地测量学基础(复习)第三部分
  14. ICCV 2017:训练GAN的16个技巧,2400+星(PPT)
  15. 谈谈百度竞价的一些思路
  16. TCP/IP 主要报文头格式
  17. linux编程之emacs
  18. hydrus1d使用说明_hydrus1d简明使用手册.doc
  19. 爬虫练习-爬取《斗破苍穹》全文小说
  20. b树的表示形式_B.Com的完整形式是什么?

热门文章

  1. C# 实体映射,对象映射框架——Mapster
  2. VS debug调试时提示“未找到源”
  3. win10系统下安装Consul
  4. filepath直接指定到文件名吗_Bash技巧:介绍一个批量复制文件到指定目录的Shell脚本...
  5. MACOS,应用签名后就崩溃?
  6. LINUX使用sed修改文件,如果包含变量,需要使用双引号
  7. BAT中for循环处理某目录下的文件
  8. LINUX打开方式的配置
  9. 没有com.sun.tools.javac.main的解决办法
  10. Python的numpy,1.15.0和1.14.5,函数结果可能存在差异