日期:2014-05-18 浏览次数:21121 次
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO.Ports; namespace Demo { public partial class myForm : Form { //private int[] ReceiveData = new int[4]; //private int ReceiveDataIndex = 0; string ReceiveData; public myForm() { InitializeComponent(); } private void myForm_Load(object sender, EventArgs e) { comboBoxPortName.SelectedIndex = 0; comboBoxBaudRate.SelectedIndex = 5; comboBoxParity.SelectedIndex = 0; comboBoxDataBits.SelectedIndex = 0; comboBoxStopBits.SelectedIndex = 0; btnClose.Enabled = false; btnOpen.Enabled = true; textBoxInformation.Text = "系统初始化成功!\r\n"; } private void btnOpen_Click(object sender, EventArgs e) { String myParity; String myStopBits; myParity = comboBoxParity.SelectedItem.ToString(); myStopBits = comboBoxStopBits.SelectedItem.ToString(); //设置端口号 mySerialPort.PortName = comboBoxPortName.SelectedItem.ToString(); //设置波特率 mySerialPort.BaudRate = Convert.ToInt32(comboBoxBaudRate.SelectedItem); //设置校验位 switch (myParity) { case "None": mySerialPort.Parity = Parity.None; break; case "Even": mySerialPort.Parity = Parity.Even; break; case "Odd": mySerialPort.Parity = Parity.Odd; break; default: mySerialPort.Parity = Parity.None; break; } //设置数据位 mySerialPort.DataBits = Convert.ToInt32(comboBoxDataBits.SelectedItem); //设置停止位 switch(myStopBits) { case "1": mySerialPort.StopBits = StopBits.One; break; case "2": mySerialPort.StopBits = StopBits.Two; break; default: mySerialPort.StopBits = StopBits.One; break; } //采用ASCII编码方式 mySerialPort.Encoding = Encoding.ASCII; //接收到一个字符就出发接收事件