【问题标题】:On a code of serial port communication关于串口通信的一段代码
【发布时间】:2014-04-02 15:55:34
【问题描述】:

我遇到了code on another question。这是对带有 C# 标签的问题的回答,但我无法理解某些部分:

using System.Port.IO; ( ? System.IO.Ports)

System.Windows.Timers.Timer serialTimer; (There is no system.windows.timers ?)

serialPort1.DataReceived+=Tab Enter (What's the function of tab and enter here?)

serialPort1.Interval =100; ?

你能帮我理解它们吗?

【问题讨论】:

  • 阅读该线程中的其他回复。或者更好的是,找到一个工作示例并从中工作。那张海报对计时器的使用充其量是值得怀疑的——你不应该需要一个用于普通串行通信的计时器。
  • 我的问题不是要与串口通信。我给出的链接是一个答案,而不是一个主题。我试图了解链接上的代码类型,而不是学习如何与端口通信。

标签: c# serial-port


【解决方案1】:

我给出的链接是一个答案,而不是一个主题。我试图了解链接上的代码类型,而不是学习如何与端口通信。

这段代码是有人在没有编译的情况下输入的,而且充满了语法和概念上的错误。我将尝试解决您问题中的问题:

using System.Port.IO; ( ? System.IO.Ports)

是的,他可能是想输入System.IO.Ports


System.Windows.Timers.Timer serialTimer; (There is no system.windows.timers ?)

不,没有。他的意思要么是System.Timers.Timer,要么是System.Windows.Forms.Timer


serialPort1.DataReceived+=Tab Enter 

(tab在这里输入有什么作用?)

那些命令(虽然我通常是TabTab)为你写一个空的事件处理程序,比如:

void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{

}

但这在这里没有什么意义,因为他的代码已经显示了一个事件处理程序,所以该行实际上应该是:

serialPort1.DataReceived += serialPort1_DataReceived;

serialPort1.Interval =100; ?

又是笔误,他可能是想通过serialTimer.Interval设置定时器的时间间隔。

所以我认为这里的教训是:当你从网络上复制粘贴某人的代码时,总是假设最坏的情况。

【讨论】:

  • 谢谢。你真好。
猜你喜欢
  • 2010-10-26
  • 2012-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多