您现在所在的是:

微软嵌入式

回帖:2个,阅读:1738 [上一页] [1] [下一页]
458
emtronix2010
文章数:91
年度积分:50
历史总积分:458
注册时间:2010/4/2
发站内信
发表于:2010/6/10 10:27:42
#0楼
英创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();
700
litang2100
文章数:1
年度积分:50
历史总积分:700
注册时间:2010/6/17
发站内信
发表于:2010/6/17 15:03:09
#1楼
为什么我用C#这样调用,在wince系统中不能接收数据,但是不可以发送数据,不知道问题出在哪~~
66
1073597878
文章数:-2
年度积分:-184
历史总积分:66
注册时间:2010/7/11
发站内信
发表于:2010/7/11 19:48:01
#2楼
此楼内容不符合板块规定,不予显示! 查看原帖内容>>

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003