我要写一个串口程序,要求运行在ARM开发板上,WINCE系统.代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;using System.IO.Ports; namespace test_tx
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int a = 0;
int c = 0;
private void button1_Click(object sender, EventArgs e)
{
//发送
serialPort1.Open();
a = a + 1; if (a == 10) { a = 0; }
serialPort1.WriteLine(a.ToString());
textBox2.Text = " 发送" + a;
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
c = serialPort1.ReadChar();
serialPort1.Close();
c = c - 48;
textBox1.Text = " 收到" + c;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{ }
private void textBox2_TextChanged(object sender, EventArgs e)
{ }
private void Form1_Load(object sender, EventArgs e)
{
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 9600;
serialPort1.Parity = Parity.None;
serialPort1.DataBits = 8;
serialPort1.StopBits = StopBits.One;
serialPort1.RtsEnable = true;
serialPort1.DtrEnable = true;
serialPort1.ReadTimeout = 1000; serialPort1.ReceivedBytesThreshold = 2;
serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.serialPort1_DataReceived); } }
}生成的EXE文件在PC机WINXP系统上运行正常,在短接COM口后可以收到数;但在ARM开发板WINCE系统下总是报错,撤掉短接线后不报错了,所以怀疑是接收时出了问题,请大家指点一下.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;using System.IO.Ports; namespace test_tx
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int a = 0;
int c = 0;
private void button1_Click(object sender, EventArgs e)
{
//发送
serialPort1.Open();
a = a + 1; if (a == 10) { a = 0; }
serialPort1.WriteLine(a.ToString());
textBox2.Text = " 发送" + a;
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
c = serialPort1.ReadChar();
serialPort1.Close();
c = c - 48;
textBox1.Text = " 收到" + c;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{ }
private void textBox2_TextChanged(object sender, EventArgs e)
{ }
private void Form1_Load(object sender, EventArgs e)
{
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 9600;
serialPort1.Parity = Parity.None;
serialPort1.DataBits = 8;
serialPort1.StopBits = StopBits.One;
serialPort1.RtsEnable = true;
serialPort1.DtrEnable = true;
serialPort1.ReadTimeout = 1000; serialPort1.ReceivedBytesThreshold = 2;
serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.serialPort1_DataReceived); } }
}生成的EXE文件在PC机WINXP系统上运行正常,在短接COM口后可以收到数;但在ARM开发板WINCE系统下总是报错,撤掉短接线后不报错了,所以怀疑是接收时出了问题,请大家指点一下.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货