惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
T
Tor Project blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Palo Alto Networks Blog
T
The Exploit Database - CXSecurity.com
P
Privacy International News Feed
C
Cybersecurity and Infrastructure Security Agency CISA
MyScale Blog
MyScale Blog
D
DataBreaches.Net
I
Intezer
GbyAI
GbyAI
Jina AI
Jina AI
The GitHub Blog
The GitHub Blog
S
Security @ Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
NISL@THU
NISL@THU
Project Zero
Project Zero
博客园_首页
Martin Fowler
Martin Fowler
A
About on SuperTechFans
J
Java Code Geeks
AI
AI
WordPress大学
WordPress大学
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
L
LINUX DO - 热门话题
云风的 BLOG
云风的 BLOG
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Cisco Blogs
L
LangChain Blog
Google Online Security Blog
Google Online Security Blog
AWS News Blog
AWS News Blog
Help Net Security
Help Net Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
D
Docker
N
Netflix TechBlog - Medium
Know Your Adversary
Know Your Adversary
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Secure Thoughts
H
Heimdal Security Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
O
OpenAI News
S
Security Affairs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
雷峰网
雷峰网
V
Visual Studio Blog
T
Threat Research - Cisco Blogs

博客园 - 阿哲

SqlServer 2005 快速设置字段/表 的描述字段 将Visio文件装换成HTML文件(在服务器上转换,客户端无需安装visio即可查看) string:值类型?引用类型?[转] SqlServer2005常用sql语句 SQL中FOR XML子句的各种用法 获得Windows中文件类型名称 完成类似QQ邮箱中‘HTML方式查看’功能查看Office文件 vs2008生成自定义dll,VS2008发布、生成网站时设置固定的dll文件名 开源.Net CMS系统 [转] 测试使用Windows Live Writter写Blog 试用Windows Live Mail OutlookExpress使用技巧 剩余的GMail邀请 实体类+自定义控件=? 用反射+特性列出所有的枚举变量及其描述信息,绑定到DropDownList上。 .NET资源(收藏) 转:使用P/Invoke来开发用于与串行设备通讯的.NET基类(翻译) 最近有空,研究了一下.NET的通讯方面 实体和实体的集合-续2
有关.NET和RS232设备通讯
阿哲 · 2005-08-18 · via 博客园 - 阿哲

    本来想整理一些东西出来的,后来发现没什么需要特别说明的,那篇翻译的文章实在是讲得太清楚了。 
    唯一需要说明的也许是如何使用这个类,其实在控件的源代码里面也可以找到两个很好的实现

  1. CommPingPong
  2. CommLine

    也许值得一提的还有文章中用来举例的 LineTerm.vb ,实在是一个非常简单明了的实现:

    其中Send和Transact就是同步和异步的区别。

    如果使用TransactCommand就是发送命令之后等待回复,收到的数据做为函数的返回值返回。

    如果使用SendCommand,就是‘发送后不管’,直到收到数据以后触发OnRxLine函数(首先每收到一个字符都要触发OnRxChar事件来判断接收的数据是不是正确,或者有没有正确的结束,一旦判断数据接收结束,就触发OnRxLine函数,这些都是在CommLine中实现的),讲收到的数据显示,或者提示。 

    哦,也许还有需要说明的就是:这个控件跟其他的使用Windows API的.NET下与RS232设备通讯的类库不同:

  1. 使用继承,还有OO的思想,不像其他只能算作工具类。
  2. 接收时候使用线程,继承的类也自动采用线程接收。
  3. 一次接收一个字符,其他的都是一次接收一串字符串。优点是不像其他的有时候会没有接收完毕就返回了。缺点可能是这样速度稍慢,对于某些RS232设备毫秒级的速度要求,加上.NET的速度本就不快,可能会产生一些问题。
  4. 可以在OnRxChar里面写判断函数,例如检查是否有开始结束字符,或者效验位的正确与否,来判断是否接收完毕(如果这个函数的判断较复杂,可能会影响传输的速度,每接收一个字符都会触发这个事件啊……)。
  5. 可以方便的把RS232设备封装成对象。或者使用单例模式来保证RS232设备资源冲突(未试验)。
  6. 其他,想到再说。