解决方案 »
- 谁熟悉C#做Android开发的MonoDroid?求指点!
- 程序运行时如何实现在任务管理器里隐藏
- 关于SerialPort的ReceivedBytesThreshold属性的疑问。
- 如何进行事件更改
- 关于 lock(){}语句的问题
- 为什么我对datagridview单元个的内容修改后 要按Enter键确 我可以结束修改的时候自动确定不?
- USB转COM的问题
- 如何手动加载\卸载DLL文件?
- 如何在C#取出两个时间差,以及FileInfo对象不能认识带“(),\/”字符的文件?急用
- 急!关于winform程序FTP上传大文件的问题
- 有关dev的饼图,各位爷,求救啦。
- 一个很简单的C#调用BCB的DLL例子,32位win2008系统成功调用,64位win8却失败?
/// 打开串口
/// </summary>
private void OpenWeightComm()
{
try
{
serialPort = new SerialPort
{
PortName = comboBox1.Text,
Parity = Parity.None,
DataBits = 8,
BaudRate = Convert.ToInt32(cmbBaudRate.Text)
}; serialPort.Open(); BeginInvoke((MethodInvoker) (() => rt_log.AppendText("串口打开成功!\n"))); serialPort.DataReceived+=new SerialDataReceivedEventHandler(serialPort_DataReceived); //实时接收数据 }
catch
{
BeginInvoke((MethodInvoker) (() => rt_log.AppendText(string.Format("{0}串口打开失败!\n", comboBox1.Text))));
}
}
串口通信根本不存在长连接一说啊...
如果是SUM校验和CRC校验,到是可以编程,网上可以直接找到代码
你确定串口通信有这种需求?
串口通信都只是传输数据,而且数据量有限制,一次最多只能传125个字,否则没法保证数据的有效性
数据量小的时候,可以采用一方反复发送,另一方只负责接收的形式
数据量大的时候,可以采用一方发送数据请求,另一方应答并返回数据,双方在通信过程中加校验
如果接收方发现请求的指令有错误,返回错误码;如果发送方发现返回的数据格式有错误,或返回的是错误码,就重新发送请求
说白了,串口通信是机器对机器的,不像以太网通信中IP包要走路由,所以数据都是实时的,顺序的,握手根本没有意义啊.
http://bbs.csdn.net/topics/380142489