首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

C#使用VS2005提供的串口类进行串口操作

C#使用VS2005提供的串口类进行串口操作

英创ARM9工控主板均提供了多个串口供客户进行通讯控制使用,包括标准的RS232和TTL电平的COM接口(经过简单的电平转换即可成为标准的RS232/RS485或者RS422)。由于英创ARM9嵌入式主板采用WinCE操作系统,很多客户都选择了界面友好、开发便利的C#语言(使用Visual Studio 2005.NET集成开发环境)。在VS2005中,为了实现串口的操作,英创提供了操作串口的COM组件接口,用户只需要在目标平台上进行组件注册,然后在C#程序开发的时候,对该COM组件添加引用,即可在程序里面自由地通过对象操作来使用英创提供的串口函数。英创提供的串口组件可以提供RTS控制的功能,方便客户在进行工业现场通讯的时候对RTS进行设置(参见“C#使用COM组件接口进行串口操作”一文);对于不需要RTS控制的客户,微软在VS2005里提供了一个标准的串口类SerialPort供客户使用,该串口类可以灵活方便地进行串口设置、收发等操作,功能更多,使用相对更灵活。英创也提供了一个使用SerialPort串口类的例程供用户参考,本文就对SerialPort串口类的使用作一个简单的讲解。
        首先要添加包含SerialPort串口类的引用:
        using System.IO.Ports;
        在程序的开始定义一个SerialPort串口类对象:
        SerialPort myserialPort = new SerialPort();
        串口的参数值可以通过如下方式来定义:
        myserialPort.PortName = “COM1”;               //定义为COM1
        myserialPort.BaudRate = 9600;                 //波特率为9600
        打开串口的操作:
        myserialPort.Open();
        要实现数据的接收,必须要监控串口的接口缓冲,实现一旦有数据进来,就能立刻处理。为此,SerialPort类提供了一个DataRecieved事件,方便对数据的接收进行处理:
        myserialPort.DataReceived += new SerialDataReceivedEventHandler(myserialPort_DataReceived);
                                        //当串口有数据收到时,启动myserialPort_DataRecieved事件函数
        一旦产生DataReceived事件,就由myserialPort_DataReceived函数来处理。
        在进行数据接收处理的时候,SerialPort类提供了很多接收方法,包括:Read()、ReadExisting()、ReadByte()、ReadChar()、ReadLine()、ReadTo()等等,客户可以根据自己的要求进行选用,如:
        private void myserialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
                //。。。。。。
                string  whatRecieved = myserialPort.ReadExisting();                 
                //。。。。。。
        }
        相对来说,数据发送就简单多了,SerialPort提供了两个数据发送的方法Write()和WriteLine(),如:
        string  whatSending = “Emtronix”;
        myserialPort.Write( whatSending );
        关闭串口的操作如下:
        myserialPort.Close();[查看全文]
[关于英创]
[更多文章]
[技术论坛]
本文PDF格式下载
离开C#有点久,感觉变得陌生了,这里让我稍微回忆了一下,谢谢啊!

一次推心置腹的谈话

一次推心置腹的谈话

夜深了,沈阳的夜晚灯火通明,街道了车水马龙,每个人都还沉浸在过年的氛围当中,我也是如此,依然沉浸在喜庆祥和的氛围当中。
  昨天晚上我在上网的时候,登陆我的博客之后,看见有好多好友在留言板留下了他们的足迹,其中有一位署名为蒲儿菜朋友的留言让我很受启发!
  他说:学生时代是人生当中最为黄金的年代,把握好了,它将引领你走向成功的彼岸,把握不好的话,你怎样瘦脸,好好珍惜这短暂而又快乐的年代,不要虚度光阴,要深刻的领悟一寸光阴一寸金所蕴涵的意义所在。
  我仔细研究和琢磨这段话的只言片语,觉得他说的也蛮对的。的确,瘦身时代如此之短暂,犹如一颗哈雷彗星,唰的一下,转瞬即逝!
  后来他向我提出要求,让我加他为好友,既然人家提出要求,我就要满足其要求,不能让其带着失望所归啊!
  等我将该做的工作做完了之后,我和署名名为蒲儿菜的朋友开始丰胸的心得,这也可以说是一次推心置腹的谈话,说真的,我还是第一次以这种方式与人聊天,我很少向别人倾诉我自己的心得与感受,就是和熟人也是一样,小唐老师也是如此,我很少将我的心里话说给他听,向他倾诉。我呢!往往都是以写日记的形式来抒写我自己的心情与感受。
  他首先自报家门,介绍了他的姓名等情况。我说道:我不是户口员,你不必告诉我你的自然情况,再说了割双眼皮好吗,我也没有资格去调查,因为我不是美国的FBI,呵呵!
  他说:那好吧,我们就直接切入正题!呵呵!
  谈话开始
  继续谈判中
  通过与他的谈话,我发觉自身的不足,由于受所处环境的影响以及来自家人、朋友的影响,在重庆整形医院致使我的性格变为这样!我应该好好检讨一下我自己,找寻自身的不足,去寻找解决问题的方法。
  说到这里,我突然想起小唐老师所给我的评价:
  1、表情过于严肃且比较刻板。
  2、思想落后。
  是呀,他说的一点没有错,不仅他说我表情过于严肃,好多人都这样评价我,说我表情过于严肃,有点像播报新闻的主播,他们在播报新闻时的面目表情就是严肃的。
  说我思想落后,也许是因为看电影的缘故,小唐老师喜欢看电影,特别是现在市场上正在上映的影片,那就甭提有多喜欢了。
  有一次,我给他发信息,问他在干吗,他告诉我说他在看《阿凡达》问我有没有看过?我说我没有看过呀,当我把这句话说完了之后,从他嘴里得到这样一句评价:思想落后啊!
  当我听完这句话的时候,我当时很想发火,但是考虑到他是我的老师,又是我的朋友!所以我就没有发火,将怨气以喝酒的形式将其发泄出来,否则憋在心里会憋出毛病的。
  一次与朋友推心置腹的谈话,使我对我自己有了更深的了解!
返回列表