CSerialPort是一款经过优化和升级的串口通信类库,提供高效稳定的串口数据收发功能。本次更新于2016年8月10日,修复了若干已知问题并增强了兼容性。
CSerialPortFirst版本由Remon Spekreijse于2000年2月8日发布。
第二版由mrlong在2007年12月25日更新,增加了ClosePort方法、WriteToPort方法以及SendData和RecvData两个方法。liquanhai于2011年11月4日至6日期间对代码进行了多次优化,包括增加线程死锁的预防措施。
viruscamp在2013年12月4日增加了QueryKey()和Hkey2ComboBox()以自动查询有效的串口号,并解决了COM端口超过9时无法显示的问题。itas109于2016年初对代码进行了更新,包括改进IsOpen方法、优化ClosePort方法防止死锁问题以及修复了停止位设置错误等问题。
随后在同年5月至8月期间,进一步增加了ReceiveStr()功能以支持字符串接收,并修改了线程挂起和恢复相关的函数名。此外还针对各种异常情况做了更多的处理措施来减少CPU占用率并提高了程序的健壮性。
2016年8月10日,itas109删除SendData和RecvData方法,同时修复了一些内存释放的问题,并规范了错误信息以参考winerror.h中的定义。
在后续版本中继续改进InitPort函数,在串口打开失败时增加提示信息。并对一些初始化过程进行了优化处理,避免因立即关闭而产生的拒绝访问问题。
整个开发过程中不断添加和改进功能,以适应更多场景下的使用需求,并提高了代码的健壮性和可维护性。