Base Class Library for RS232 Communications.
--------------------------------------------
Ref: "Serial Comm: Use P/Invoke to Develop a .NET Base Class Library
for Serial Device Communications" John Hind, MSDN Magazine, Oct 2002.
V1.3 February 2004.
LIBRARY
CommBase.dll
The library redistributable assembly - .NET managed code.
Contains namespace JH.CommBase. Requires Unmanaged Code Permission.
CommBase.xml
Intellisense comments for the library. Copy this to the same directory as
CommBase.dll when referencing the library in the development environment.
CommBaseSource\CommBase.cs
CommBaseSource\CommPingPong.cs
CommbaseSource\AssemblyInfo.cs
Source code for CommBase.dll assembly. Build in a Visual Studio C# Class
Library project. Set the XML Documentation File option in configuration
properties to rebuild the Intellisense comments.
EXAMPLES
LineTerm.vb
Source code for LineTerm example. Build in a Visual Studio VB Console
Application project. Requires a reference to CommBase.dll.
BaseTerm.exe
Compiled example. Requires CommBase.dll in same directory to run.
BaseTermSource\BaseTerm.cs
BaseTermSource\TermForm.cs
BaseTermSource\SettingsForm.cs
BaseTermSource\InfoForm.cs
BaseTermSource\AssemblyInfo.cs
Source code for BaseTerm example. Build in a Visual Studio C# Windows
Application project. Requires a reference to CommBase.dll.
REVISION HISTORY
V1.0 - Initial Release, Sept 2002.
V1.1 - Minor Revision, December 2002.
- Removed dependancy on NT/2000/XP. Should now run on W98, ME etc.
- Eliminated use of CancelIO which was causing occasional data loss.
- Use static version of Encoding.ASCII in CommLine for efficiency.
- Added new CommPingPong class for single byte packetisation.
V1.2 - Minor Revision, December 2002.
- Fixed bug with received break condition handling.
- Interlocked rx thread startup with ManualResetEvent for robustness.
- Added defaulting mechanism for handshake thresholds to avoid errors
due to fixed defaults conflicting with driver queue size defaults.
- Changed default for sendTimeoutMultiplier for not NT-based platform to
a high value as W98 etc. do not seem to interpret 0 as infinite.
V1.3 - Minor Revision, February 2004.
- Automatically try \\.\COMn form of port name if COMn or COMn: fails
i.e. when n > 9 on some systems.
- Added CommBase.IsCongested to test for buffer growth when sending
data with CheckAllSends = false.
- Added CommBase.IsPortAvailable to test existance / availability of
a named port.
- BaseTerm sample settings dialog now enumerates available ports in the
port dropdown using the CommBase.IsPortAvailable function.
- BaseTerm sample queue status dialog made non-modal and auto-refreshing.
- Other minor presentational improvements to BaseTerm sample.
- Corrected bugs which caused occasional crashes on port closure.
- Corrected bugs which caused unnecessary exceptions when sending
data at low baud rates with CheckAllSends = false.
- Fixed bug in setting RTS state.
- Deleted virtual function CommBase.OnRing which was never getting
called: use CommBase.OnStatusChange instead.
- Fixed bug preventing setting of fAbortOnError in DCB.
- Corrected the BaseTerm sample to use proper marshalling for
multi-threaded Windows Forms.
- Corrected STH -> STX in ASCII enumeration.
\串口通讯控件(CSharp).rar
需积分: 9 196 浏览量
2008-01-30
13:42:16
上传
评论
收藏 70KB RAR 举报
dearfangxin
- 粉丝: 0
- 资源: 16
最新资源
- PTK9.py
- 6种MySQL批量更新方式的实现原理及效率比较.zip
- 【AC620+ACM2108】小梅哥Altera FPGA高速AD/DA实验
- Springboot3+Vue3实现副业(创业)智能语音项目开发17章
- 【AC620+ACM2108】小梅哥Altera FPGA高速AD/DA实验
- MySQL批量更新实战:6种方式效率PK.zip
- MySQL批量更新效率对比:原生MyBatis、MyBatis-Plus与JdbcTemplate等六种方法.zip
- 性能实测:Spring Boot中六种批量更新技术谁更快?.zip
- 使用winsper语音识别开源模型封装成openai chatgpt兼容接口
- Spring Boot中六种批量更新方法效率对比.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈