麻烦路过高手,写几个串口通信的小例子,刚接触serialPort,需要在机器是调试得通,麻烦注释下
基础点的,越多越好,呵呵!!!!
基础点的,越多越好,呵呵!!!!
解决方案 »
- 谁有类似的框架源码 给个?
- 你能分清楚的术语之--函数、过程和方法
- C#中,如何实现:将完成的XX.cs文件以TXT格式保存到D盘?
- 多个datalist 怎么对应 1个 sqldatasource
- Developer Express .NET v7.3关于GridControl合并某列单元格?谁知道?帮帮忙!
- 跪求高手帮忙,帮我看看是怎么了
- 在winform中,讲form放到不同文件夹内,如何调用呢?
- 关于水晶报表在windows程序中出现的奇怪错误!
- 2008年12月21日星期一到2008年12月28日星期日怎么显示在datalist控件的每一行中
- 那位高手能帮我把下面的asp代码翻译成asp.net(C#)
- c#怎么把wav音频文件 用g729a压缩成bit文件?
- 如何用ASP.net中的FileUpload将txt内容写入数据库?
C# 串口操作系列(2) -- 入门篇,为什么我的串口程序在关闭串口时候会死锁 ?
C# 串口操作系列(3) -- 协议篇,二进制协议数据解析
C# 串口操作系列(4) -- 协议篇,文本协议数据解析
C# 串口操作系列(5) -- 通讯库雏形
第二个 尽量使用READ和WRITE不要用WRITELINE和READLINE,后两个是要读换行符的
第三个 查看你的串口初始化是否初始化好了
如果你只知道编写同步操作代码,就不可能做出专业的产品,而只是知道.net有那些语句而已。
怎么样进行串口通信不是怎么清楚,刚接触也不知道哪里错了
请路过的高手编一个小例子,在一个窗口中的文本框中输入,按发送按钮就它发送到COM1,在做个文本框框接受刚才发过来的信息,麻烦了???????
不知道出错在哪里?为什么弹出空?
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 ff
{
public partial class Form1 : Form
{
SerialPort port;
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
port = new SerialPort("COM1",9600,Parity.None,8,StopBits.One);
port.NewLine = "\r\n";
port.WriteTimeout = 500;
port.ReadTimeout = 500;
port.Open(); } private void button1_Click(object sender, EventArgs e)
{
try
{
port.WriteLine(this.textBox1.Text); this.textBox1.Text = "";
}
catch { MessageBox.Show("异常");
}
} private void button2_Click(object sender, EventArgs e)
{
try
{
this.textBox1.Text = "";
this.textBox1.Text = port.ReadExisting();
MessageBox.Show(port.ReadExisting().ToString());
}
catch { MessageBox.Show("异常");
}
}
}
}
二楼的链接里都是经典例子哈
sp.ReadTimeout = 500;
sp.Write(data, 0, data.Length);
Thread.Sleep(500);
int BufLen = sp.BytesToRead;
if (BufLen > 0)
{
byte[] receiver = new byte[BufLen];
sp.Read(receiver, 0, BufLen);
}
不用委托是可以的,关键是READLINE和WRITELINE是要有换行符号的,另外读取的时候要有一定的延迟的,Thread.Sleep(输入具体的毫秒数)
我将数据通过SerialPort port发送到com1,在通过port去读数据,怎么就不行了啊,好像这个事件DataReceived没触发啊,我是在同一台电脑做的,是不是有问题啊?通讯是不是要两台电脑啊,不懂哦,初学者?
2.如果使用了DataReceive事件,那么就要考虑多线程问题,它们不是同一线程,当然收不到了