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 comtry0
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ } private void button1_Click(object sender, EventArgs e)
{
SerialPort SerialPort1 = new SerialPort();
SerialPort1.PortName = "COM1";
SerialPort1.BaudRate = 115200;
SerialPort1.DataBits = 8;
SerialPort1.Parity = Parity.None ;
SerialPort1.StopBits = StopBits.One ;
SerialPort1.ReadTimeout = 1000;
SerialPort1.Open();
byte[] date = Encoding.Unicode.GetBytes(textBox1.Text);
string str = Convert.ToBase64String(date);
SerialPort1.WriteLine(str);
MessageBox.Show("数据发送成功");
SerialPort1.Close();
} private void button2_Click(object sender, EventArgs e)
{
SerialPort SerialPort1 = new SerialPort();
SerialPort1.PortName = "COM1";
SerialPort1.BaudRate = 115200;
SerialPort1.DataBits = 8;
SerialPort1.Parity = Parity.None;
SerialPort1.StopBits = StopBits.One;
SerialPort1.ReadTimeout = 1000;
SerialPort1.Open();
byte[] date = Convert.FromBase64String(SerialPort1.ReadLine());
textBox2.Text = Encoding.Unicode.GetString(date,0,date.Length);
SerialPort1.Close();
MessageBox.Show("数据接收成功");
}
这是我写的在wince6下的串口发送和接收程序,问题(1)当向pc机上的串口调试助手发送数据时,串口调试助手可以接收到数据,但不是我所发送的数据;问题(2)利用串口调试助手向我编写的程序发送数据时,接收不到数据。请高人指点,我刚刚开始学习这么语言,最好能说的详细些。
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 comtry0
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ } private void button1_Click(object sender, EventArgs e)
{
SerialPort SerialPort1 = new SerialPort();
SerialPort1.PortName = "COM1";
SerialPort1.BaudRate = 115200;
SerialPort1.DataBits = 8;
SerialPort1.Parity = Parity.None ;
SerialPort1.StopBits = StopBits.One ;
SerialPort1.ReadTimeout = 1000;
SerialPort1.Open();
byte[] date = Encoding.Unicode.GetBytes(textBox1.Text);
string str = Convert.ToBase64String(date);
SerialPort1.WriteLine(str);
MessageBox.Show("数据发送成功");
SerialPort1.Close();
} private void button2_Click(object sender, EventArgs e)
{
SerialPort SerialPort1 = new SerialPort();
SerialPort1.PortName = "COM1";
SerialPort1.BaudRate = 115200;
SerialPort1.DataBits = 8;
SerialPort1.Parity = Parity.None;
SerialPort1.StopBits = StopBits.One;
SerialPort1.ReadTimeout = 1000;
SerialPort1.Open();
byte[] date = Convert.FromBase64String(SerialPort1.ReadLine());
textBox2.Text = Encoding.Unicode.GetString(date,0,date.Length);
SerialPort1.Close();
MessageBox.Show("数据接收成功");
}
这是我写的在wince6下的串口发送和接收程序,问题(1)当向pc机上的串口调试助手发送数据时,串口调试助手可以接收到数据,但不是我所发送的数据;问题(2)利用串口调试助手向我编写的程序发送数据时,接收不到数据。请高人指点,我刚刚开始学习这么语言,最好能说的详细些。
解决方案 »
- 关于数据库设计datetime
- 关于C#与命令行的问题
- WPF 用xamlWriter读取richtextBox中document时去掉XAML标记
- C#如何创建一个可以让应用程序读写的配置文件?
- 求助
- 看C#高级编程很枯燥啊..还有些看不懂..实际应用的场景也很少..怎么看呐?推荐一本好书来吧?
- .net与MS SqlServer连接的问题(close是否真的关闭了数据库连接)
- 请问怎么样才能让自己写的控件响应键盘!
- 高手帮帮我,关于如何在C#的winform里写下载的程序!!
- FreeSCADA2 组态软件 谁接触过?
- 高分求图片圆角、加边线等效果。
- 求大能帮助,C# 窗体里面用什么控件把窗体分块啊!
你把你的数据转换成base64了,你说串口助手会主动帮你把base64的数据转换成你要的数据吗?我看不会。你直接吧byte数据发送的串口就好了,不要转换成base64,或者你把base64编码的数据自己在程序中转换一下。另外即使不转换成base64编码格式的数据,在串口调试助手里,也不一定能是你想要的数据,它是二进制显示的,你可以把这个数据和你自己转换后的二进制数据比对一下看看是否相同。
问题(2)利用串口调试助手向我编写的程序发送数据时,接收不到数据。请高人指点,我刚刚开始学习这么语言,最好能说的详细些。
你看看自己的代码,数据发送完就关闭串口了,串口调试助手给你发过来数据,你能收到吗?想收到串口助手发的数据,你的设备串口必须一直开着。软件启动后,就把串口打开,在串口的DataRevice事件里,可以接受到数据的。这个例子是以前在wince5上写和串口gprs模块通讯的例子。
参考
{
int bytesCanRead=SP.BytesToRead;
if (bytesCanRead > 0)
{
string s = SP.ReadExisting();
textBox2.Text = s;.....提示需要独立的线程 }
}
现在串口接收做到这了,又跳出来独立线程,有人知道怎么做吗?是不是还挺难的啊,还没接触过,请高人们继续指导。谢谢谢谢!
textbox2.invoke(new Eventh..(del..
{
textbox2.text=..
}));
你把PC的发送线和PDA的接受线连起来,PDA的发送连接PC的接受就可以玩了
这个帖子最后最后的一个问题,pc机上的串口调试助手是循环发送数据的,这句textbox2.text=s,只能显示当前的数据,原先的数据都会被覆盖,要用什么语句才能实现在文本框把每次循环发送的数据都显示出来呢?