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

最近正在学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. }

最新文章

  1. java核心知识点学习----多线程间的数据共享和对象独立,ThreadLocal详解
  2. python 将pdf分页后插入至word中
  3. android结束进程、退出application的方法
  4. 【转】Android设计中的.9.png
  5. GIS科研站
  6. hdu 2795 线段树
  7. HTTP初步注解
  8. YoMail 邮箱客户端的社会化之路,起于邮箱,不止于邮件
  9. 学JAVA第十二天,今天写java控制台输入流及String的类型转换
  10. [python] [Jupyter Notebook]
  11. 浅谈react的初步试用
  12. 用react + redux + router写一个todo
  13. linux下将指定目录加入环境变量的方法
  14. 跟我一起使用electron搭建一个文件浏览器应用吧(二)
  15. python学习-(__new__方法和单例模式)
  16. Dummy Sample
  17. 【POJ2728】Desert King 最优比率生成树
  18. python私有公有属性
  19. 微信小程序与java后台交互
  20. hdu 3061 最大权闭合子图

热门文章

  1. SpringBoot入门学习(一)
  2. Ubuntu安装samba实现文件夹共享
  3. ashx 方法模板
  4. 延迟环境变量扩展(bat)
  5. win64 Python下安装PIL出错解决2.7版本 (3.6版本可以使用)
  6. zabbix3.2通过snmp v2采集Dell服务器iDRAC口信息监控硬件
  7. jquery map方法
  8. [BZOJ3669]魔法森林
  9. 最短路径 bellman-ford
  10. Permission denied: mod_fcgid