| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2287 人关注过本帖
标题:c#串口通信问题
取消只看楼主 加入收藏
贾丹丹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:25
注 册:2011-7-27
结帖率:100%
收藏
已结贴  问题点数:40 回复次数:9 
c#串口通信问题
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using
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)利用串口调试助手向我编写的程序发送数据时,接收不到数据。请高人指点,我刚刚开始学习这么语言,最好能说的详细些。
搜索更多相关主题的帖子: private public class using 
2011-08-10 15:54
贾丹丹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:25
注 册:2011-7-27
收藏
得分:0 
谢谢,我去试试啊。
2011-08-11 08:19
贾丹丹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:25
注 册:2011-7-27
收藏
得分:0 
不行啊,或者哪位高人有串口接收显示的程序,传给我学习参考下,QQ1105871845
2011-08-11 09:57
贾丹丹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:25
注 册:2011-7-27
收藏
得分:0 
第一个问题解决了,有人能告诉我怎样使用DataReceived方法接收和显示数据吗?网上搜了一些,不过都不知道该这么用。。帮帮忙
2011-08-11 17:13
贾丹丹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:25
注 册:2011-7-27
收藏
得分:0 
5楼的朋友你好,非常感谢你提供源程序给我!我在这边跑了你给的程序的时候,运行没有问题,可是当我点接收按钮的时候窗口就直接死掉了。我现在的程序也存在这个问题不知道哪位高人能够接着解答。
2011-08-11 17:23
贾丹丹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:25
注 册:2011-7-27
收藏
得分:0 
在窗口应用程序中,当我写入this.txtReceiveData.AppendText(this.serialPort.ReadLine())时,error list 会提醒说 'System.Windows.Forms.TextBox' does not contain a definition for 'AppendText',是不是我这不能用'AppendText'啊?
2011-08-11 17:45
贾丹丹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:25
注 册:2011-7-27
收藏
得分:0 
我用了DataReceived,可是系统又提示要开辟专门的线程接收数据,这个好像很难啊,都没接触过。。大家快来帮忙啊!发愁
2011-08-12 11:25
贾丹丹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:25
注 册:2011-7-27
收藏
得分:0 
zhoufeng1988你好!非常感谢你帮我解答问题,我这边是.NET Framework2,好像要求独立的线程才能进行委托操作,现在好像又要看线程的东西了,好着急啊。能加我吗QQ1105871845
2011-08-12 11:31
贾丹丹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:25
注 册:2011-7-27
收藏
得分:0 
  void SP_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            int bytesCanRead=SP.BytesToRead;
            if (bytesCanRead > 0)
            {
                string s = SP.ReadExisting();
                textBox2.Text = s; ............//系统提示要用独立的线程才可以读出,这个该这么做?有人知道吗?

            }
        }
2011-08-12 11:56
贾丹丹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:25
注 册:2011-7-27
收藏
得分:0 
问题已经成功解决!谢谢各位高人的积极帮助!结贴啦!哈哈
2011-08-12 14:41
快速回复:c#串口通信问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019752 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved