自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

itas109的专栏

大道至简 Road to Jane

  • 博客(415)
  • 资源 (61)
  • 收藏
  • 关注

原创 C++跨平台串口通信类库CSerialPort 2023-02-15

CSerialPort是一个基于C/C++的轻量级开源跨平台串口类库,可以轻松实现跨平台多操作系统的串口读写,同时还支持C#, Java, Python, Node.js等C++跨平台串口通信类库CSerialPortwindows串口编程linux串口编程串口类库串口第三方库serial port communication classSerial Programming Guidewindows串口编程C/C++串口通信类库C++跨平台串口通信类库

2018-11-20 09:47:50 25056 40

原创 itas109的开源项目汇总

如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 本文用于记录itas109的开源项目 1、CSerialPort串口类https://github.com/itas109/CSerialPort这是一份优秀的串口类文件,好多的地方值得我们学习,具体在多线程,事件,自定义消息,类的封装方面等等。 2...

2016-05-27 14:48:51 3636

原创 基于VTK的Android下的三维重建

如需转载请标明出处:http://blog.csdn.net/itas109QQ技术交流群:129518033商务合作:itas109@qq.com下载试用:链接: http://pan.baidu.com/s/1hq2d6LY 密码: qxnzAndroid下的3D显示

2015-09-13 11:07:47 5611 1

原创 STC89C52单片机通过HC-06蓝牙模块与Android手机通信

STC89C52通过HC-06蓝牙模块与Android手机通信 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 2017-11-04补充注意问题:1.确保上位机波特率为96002.确保下位机的波特率为9600,下位机的晶振应该为11.0592MHz3.本教程中接收指令的是字符1、2、3,不是16进制的...

2013-05-23 09:02:23 46578 57

原创 C++中使用protobuf

install目录结构。

2024-08-04 19:00:00 300

原创 C++并发编程基本概念

并发编程允许程序在多个线程中同时执行,可以显著提高程序的性能。在多线程编程中,多个线程访问和修改共享数据时,如果没有正确的同步机制,就会出现数据竞争和不一致性的问题。

2024-07-13 23:52:53 443

原创 我的创作4096天纪念日

CSerialPort最初为Remon在1999年开源,后经过十多年时间多位维护者维护,我在2014年接触到CSerialPort并开始维护该项目,开始时主要是在windows下提升性能、增加便利结构、解决遗留问题和裁减MFC依赖,从4.x版本开始重构代码并扩展到linux、macox和BSD等系统提供跨平台多操作系统多CPU架构的支持,并且支持了C, C#, Java, Python, Node.js, Electron等多种语言。提示:当前创作和你的工作、学习是什么样的关系。

2024-07-09 21:00:00 418

原创 Rust开发环境搭建

Rust开发环境搭建

2024-07-06 16:10:31 465

原创 常见的编码技术简介

1. 字符编码 1.1 ASCII 1.2 Unicode 2. 数据传输编码 2.1 Base系列编码 2.1.1 Base64 2.1.2 Base16 2.1.3 Base32 2.1.4 Base85 2.1.5 其他Base编码 2.2 URL编码 2.3 JSON2.4 XML 2.5 Protobuf (Protocol Buffers)

2024-07-03 23:51:16 787

原创 Electron入门项目及打包

因此,直接将index.js index.html package.json拷贝electron目录的resources文件夹中即可直接运行。新建pack文件夹,将index.js index.html package.json拷贝到pack文件。将app.asar放到electron目录的resources文件夹中。安装electron-builder。修改package.json。

2024-06-20 00:45:00 335

原创 香橙派 AIpro综合体验及AI样例运行

香橙派 AIpro开发板采用昇腾AI处理器(4核64位ARM处理器+AI处理器),提供8TOPS@INT8 AI算力,内存提供8GB/16GB。香橙派 AIpro提供了丰富的接口,包括双4K HDMI输出、Type-C电源接口、GPIO接口、支持SATA/NVMe SSD 2280的M.2插槽、TF插槽、千兆网口、两个USB3.0、一个USB Type-C 3.0、一个Micro USB、两个MIPI摄像头、一个MIPI屏等,预留电池接口。香橙派 AIpro支持Ubuntu、OpenEuler操作系

2024-05-27 20:54:51 1347 2

原创 windows和linux生成代码patch补丁

使用diff和patch生成和打代码补丁。注意:windows下可使用git bash工具。

2024-05-05 23:43:51 481

原创 nodejs|npm加速安装node_module模块_240429

npm默认源为https://registry.npmjs.org/,但是下载速度慢。下面介绍一下如何加速下载模块。

2024-04-29 19:32:22 444

原创 树梅派Raspberry Pi OS(Debian)源码交叉编译升级内核参数PAGESIZE

树梅派Raspberry Pi OS(Debian)源码交叉编译升级内核参数PAGESIZE

2024-03-25 23:10:54 634

原创 ubuntu22.04物理机双系统手动分区

ubuntu22.04物理机双系统手动分区手动分区顺序:EFI系统分区(/boot/efi)、交换分区(/swap)、/根分区、/home分区

2024-03-24 21:09:51 2305

原创 linux下使用 tar 来压缩和解压 tar.gz 和 tar.xz 文件

linux下使用 tar 来压缩和解压 tar.gz 和 tar.xz 文件

2024-03-19 19:54:17 13108

原创 llvm module输出信息的几种方式

llvm module输出信息的几种方式

2023-12-24 09:51:27 722

原创 自动驾驶芯片指标AI算力TOPS和CPU算力DMIPS

DMIPS(Dhrystone Million Instructions Per Second,每秒处理的百万级的机器语言指令数),描述的是CPU的运算能力。GPU (Graphics Processing Unit):图形处理器,有大量的并行处理单元(如Nvidia RTX 4090有16384核),主要用于图像处理和并行计算(如图像渲染、深度学习和密码学等)。准确点讲,TOPS描述的是芯片MAC(Multiply Accumulate,乘积累加运算)的运算能力。FP16: 半精度浮点数/16位浮点数。

2023-11-26 15:48:14 6363

原创 linux下usleep函数对CPU占用率的影响

linux下usleep函数对CPU占用率的影响

2023-11-16 20:39:56 955 1

原创 C++异常捕获

windows下使用_set_se_translator,linux下使用sjlj。

2023-10-24 19:26:09 294

原创 IO模型简介

进程发起IO系统调用后,如果内核缓冲区没有数据,需要到IO设备中读取,进程返回一个错误而不会被阻塞;进程发起IO系统调用后,如果内核缓冲区有数据,内核就会把数据返回进程。原理:进程把多个文件描述符注册到select/poll/epoll函数,由内核监视,函数阻塞。当进程发起一个IO操作,会向内核注册一个信号处理函数,然后进程返回不阻塞;进程发起IO系统调用后,进程被阻塞,转到内核空间处理,整个IO处理完毕后返回进程。当进程发起一个IO操作,进程返回不阻塞,内核把整个IO处理完后,会通知进程结果。

2023-10-24 19:18:02 277

原创 cmake add_subdirectory添加父级目录及其子目录的源码

add_subdirectory not given a binary directory but the given source directory "xxx/thirdlib" is not a subdirectory of "xxx/main". When specifying an out-of-tree source a binary directory must be explicitly specified.

2023-09-06 00:00:00 821

原创 C++ 布置new 布局new placement new

普通new是在堆(heap)上分配空间。布置new(placement new)不申请空间,而是在已分配的空间上创建对象。布置new(placement new)的注意事项1. 布置new所使用的的空间,可以是堆(heap)空间,也可以是栈(stack)空间2. 由于布置new(placement new)并没有申请空间,在已分配空间上调用构造函数,因此需要显示调用析构函数3. 由于布置new(placement new)并没有申请空间,因此delete应该由原来分配空间的地方进行调用

2023-08-29 21:13:46 359

原创 CSerialPort教程4.3.x (8) - CSerialPort调试模式的使用

CSerialPort项目是一个基于C/C++的轻量级开源跨平台串口类库,可以轻松实现跨平台多操作系统的串口读写,同时还支持C#, Java, Python, Node.js等。CSerialPort项目的开源协议自 V3.0.0.171216 版本后采用为了让开发者更好的使用CSerialPort进行开发,特编写基于4.3.x版本的CSerialPort教程系列。

2023-08-20 10:41:51 918 1

原创 CSerialPort教程4.3.x (7) - CSerialPort在vcpkg中的使用

CSerialPort项目是一个基于C/C++的轻量级开源跨平台串口类库,可以轻松实现跨平台多操作系统的串口读写,同时还支持C#, Java, Python, Node.js等。CSerialPort项目的开源协议自 V3.0.0.171216 版本后采用为了让开发者更好的使用CSerialPort进行开发,特编写基于4.3.x版本的CSerialPort教程系列。

2023-08-20 10:41:06 343

原创 CSerialPort教程4.3.x (6) - CSerialPort作为第三方库的使用

CSerialPort项目是一个基于C/C++的轻量级开源跨平台串口类库,可以轻松实现跨平台多操作系统的串口读写,同时还支持C#, Java, Python, Node.js等。CSerialPort项目的开源协议自 V3.0.0.171216 版本后采用为了让开发者更好的使用CSerialPort进行开发,特编写基于4.3.x版本的CSerialPort教程系列。x64动态库只能用于x64的程序调用,x86同理debug的动态库只能用于动态库程序调用,release同理。

2023-08-20 10:40:15 977

原创 CSerialPort教程4.3.x (5) - CSerialPort在cmake中的使用

CSerialPort项目是一个基于C/C++的轻量级开源跨平台串口类库,可以轻松实现跨平台多操作系统的串口读写,同时还支持C#, Java, Python, Node.js等。CSerialPort项目的开源协议自 V3.0.0.171216 版本后采用为了让开发者更好的使用CSerialPort进行开发,特编写基于4.3.x版本的CSerialPort教程系列。

2023-08-20 10:39:01 404

原创 CSerialPort教程4.3.x (4) - CSerialPort在QT中的使用

CSerialPort项目是一个基于C/C++的轻量级开源跨平台串口类库,可以轻松实现跨平台多操作系统的串口读写,同时还支持C#, Java, Python, Node.js等。CSerialPort项目的开源协议自 V3.0.0.171216 版本后采用为了让开发者更好的使用CSerialPort进行开发,特编写基于4.3.x版本的CSerialPort教程系列。

2023-08-20 10:37:07 1517

原创 CSerialPort教程4.3.x (3) - CSerialPort在MFC中的使用

CSerialPort项目是一个基于C/C++的轻量级开源跨平台串口类库,可以轻松实现跨平台多操作系统的串口读写,同时还支持C#, Java, Python, Node.js等。CSerialPort项目的开源协议自 V3.0.0.171216 版本后采用为了让开发者更好的使用CSerialPort进行开发,特编写基于4.3.x版本的CSerialPort教程系列。

2023-08-20 10:36:04 1808 1

原创 CSerialPort教程4.3.x (2) - CSerialPort源码简介

CSerialPort项目是一个基于C/C++的轻量级开源跨平台串口类库,可以轻松实现跨平台多操作系统的串口读写,同时还支持C#, Java, Python, Node.js等。CSerialPort项目的开源协议自 V3.0.0.171216 版本后采用为了让开发者更好的使用CSerialPort进行开发,特编写基于4.3.x版本的CSerialPort教程系列。本文对版本源码进行简介。

2023-08-20 10:34:55 944

原创 CSerialPort教程4.3.x (1) - CSerialPort项目简介

CSerialPort项目是一个基于C/C++的轻量级开源跨平台串口类库,可以轻松实现跨平台多操作系统的串口读写,同时还支持C#, Java, Python, Node.js等。CSerialPort项目的开源协议自 V3.0.0.171216 版本后采用为了让开发者更好的使用CSerialPort进行开发,特编写基于4.3.x版本的CSerialPort教程系列。

2023-08-20 10:32:07 789

原创 C++ 对象模型 C++ Object Model

本例中,C++ 中的数据成员和C中一样,不一样的是C++中多了一个非静态成员函数print,但非静态成员函数与数据成员是分离的,并不占用类的大小。C++内存布局的额外负担有virtual引起,主要包好虚函数(virtual function)和虚基类(virtual base class)。类成员函数有三种:静态函数(static)、非静态函数(nonstatic) 和 虚函数(virtual)类数据成员有两种:静态(static) 和 非静态(nonstatic)C语言中,数据和函数是分开声明的。

2023-07-31 22:32:05 529

原创 源码编译antlr4-cpp-runtime

如果引用antlr4-cpp-runtime.dll的功能运行库使用的是多线程调试DLL(/MDd),那么antlr4-cpp-runtime的编译也不必须保持一致,否则会出现崩溃。【C/C++】-【代码生成】-【运行库】-【多线程调试DLL(/MDd)】Ubuntu 20.04系统。

2023-06-24 13:04:58 1119

原创 C/C++函数调用栈帧及其内存布局

每一次函数的调用,都会在调用栈(call stack)上维护一个独立的栈帧(stack frame)。局部变量初始化为x=0,y=2,z=0。局部变量初始化z=0。

2023-06-24 13:01:15 1208

原创 CSerialPort教程(10) - CSerialPort的DTR和RTS功能

本文将介绍如何使用CSerialPort的DTR和RTS功能。注意:CSerialPort的DTR和RTS功能需要v4.3.0及以上版本。开发板:合宙ESP32C3经典版IDE:Arduino IDE 2.1.0 (esp32@2.0.8)USB驱动:CH343SER

2023-05-29 20:00:00 1296

原创 windows下源码编译和使用TCMalloc

TCMalloc是Google开发的专用于多线程系统设计的内存分配器。如mysql、Nginx、Redis 高并发下的性能和内存优化等。在一台2.8GHz的P4机器上执行一次小对象malloc及free,TCMalloc需要50纳秒,而glibc 2.3的malloc(ptmalloc2)需要300纳秒。TCMalloc是google-perftools工具(TCMalloc、heap-checker、heap-profiler和cpu-profiler)之一。

2023-04-29 11:34:17 1677 1

原创 C++常用第三方库

仅头文件的现代C++ HTTP/HTTPS服务端和客户端库 [MIT] (9.2k, 2023-04-05)- PostgreSQL C++客户端接口库 [BSD-3-Clause] (766, 2023-04-05)- 现代C++多线程事件驱动的网络库 [BSD] (12.9k, 2023-04-05)- MongoDB C++接口库 [Apache2] (950, 2023-04-05)- 现代C++ ORM库 [MIT] (48, 2023-04-05)- Redis C客户端接口库 [BSD]

2023-04-22 22:34:33 1191

原创 Dear ImGui结合CMake实现基于GLFW和OpenGL3的入门级hello world代码

Dear ImGui 是一个 用于C ++的无膨胀图形用户界面库。它输出优化的顶点缓冲区,您可以随时在启用3D管线的应用程序中进行渲染。它快速,可移植,与渲染器无关并且是独立的(无外部依赖性)。Dear Imgui是一个非常轻量级的库,没有额外的外部依赖,支持跨平台,很适合用于游戏引擎。官方网站:https://github.com/ocornut/imgui。

2023-04-22 22:31:14 1764

原创 windows下使用umdh定位C++内存泄漏

用户模式转储堆 (UMDH) 实用工具与操作系统一起用于分析特定进程 Windows 堆分配。 UMDH 查找特定进程中的哪个例程正在泄漏内存。

2023-04-22 13:17:29 586

原创 Linux使用asan排查C/C++内存泄漏

Linux使用asan排查C/C++内存泄漏ASAN 早先是 LLVM 中的特性,后被加入 gcc4.8,成为 gcc 的一部分,但不支持符 号信息,无法显示出问题的函数和行数。从 4.9 开始,gcc 支持 AddressSanitizer 的 所有功能。License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎。centos7默认gcc版本为4.8.5。

2023-04-22 12:58:35 1326

Fiddler Web Debugger(5.0.20192.25092)中文版.zip

Fiddler Web Debugger(5.0.20192.25092)中文版网络抓包工具中文版 使用博客:https://blog.csdn.net/itas109

2019-10-18

nexus 3-3.19.0-01-win64.7z

Nexus Repository Manager OSS 3.19.0 win64 https://help.sonatype.com/repomanager3/download/download-archives---repository-manager-3

2019-10-08

MinGW_gcc7.3.0_x86_64_offline离线安装包

MinGW_gcc7.3.0_x86_64_offline MinGW离线安装包,适合windows 64位系统,GCC版本为7.3.0 x86_64-7.3.0-release-win32-seh-rt_v5-rev0.7z

2019-08-17

VS2017安装包

Visual Studio 2017安装包,版本:15.9,发布时间:2019-07-09 包括内容:社区版vs_community、专业版vs_professional、企业版vs_enterprise。 该版本支持先下载,然后再安装。不再需要用命令行离线下载。 博客交流:https://blog.csdn.net/itas109 GitHub交流:https://github.com/itas109

2019-07-10

CSerialPortV3.0.3串口类最新修正版2018-06-21

1.增加信号与槽机制传输数据 add sigslot.h to send data 2.修复handle初始化问题,全部初始化为INVALID_HANDLE_VALUE modify handle init INVALID_HANDLE_VALUE 3.修复串口打开失败,再次成功打开串口后,不能正常读写问题 fix can not read and write when the port open failed 其他: 博客:blog.csdn.net/itas109 Email:itas109@qq.com

2018-06-21

CSerialPortV3.0.2串口类最新修正版2018-06-15

修复availablePorts函数不能枚举所有串口问题 fix function availablePorts can not enum all port error

2018-06-15

QT使用GSoap发布WebService的Demo

QT使用GSoap发布WebService的Demo https://blog.csdn.net/itas109/article/details/80652883

2018-06-11

QT不卡界面Demo V2

QT技巧 - 如何让主界面不卡顿 http://blog.csdn.net/itas109/article/details/79621255

2018-03-20

QT不卡界面Demo

QT技巧 - 如何让主界面不卡顿 http://blog.csdn.net/itas109/article/details/79621255

2018-03-20

CSerialPortV3.0.1串口类最新修正版2018-02-14

新增功能 * ★修复不能连续发送的问题 ★ fix can not continue send error * ★一次性写入尽可能多的数据到串口 ★ try best to send mutil data once in WriteChar funtion * 修复BYTE内存设置的问题 fix BYTE memset error * 在构造函数中初始化和释放临界区 initialize and delete critical section in Constructor * 精简代码 其他: 博客:blog.csdn.net/itas109 Email:itas109@qq.com

2018-02-25

pocketsphinx在windows下的中文语音识别Demo

pocketsphinx在windows下的中文语音识别 http://blog.csdn.net/itas109/article/details/78999477

2018-01-08

CSerialPortV3.0.0串口类最新修正版2017-12-16

新增功能 * 支持DLL输出 * 去除QueryKey和Hkey2ComboBox,采用CSerialPortInfo::availablePorts()函数代替 * 增加CSerialPortInfo类,目前只有availablePorts静态函数,用于获取活跃的串口到list * 增加命名空间itas109 * 精简不必要的头文件 * InitPort和~CSerialPort()中直接整合ClosePort() 其他: 博客:blog.csdn.net/itas109 Email:itas109@qq.com

2017-12-16

ha_innosetup5509_打包程序

innosetup打包程序 参考教程:http://blog.csdn.net/itas109

2017-12-14

ctemplate生成文件

ctemplate生成文件,包括2017-11-30最新的源文件、修改的文件和生成的文件

2017-11-30

离线数据存储和上传方案

solution of offline data storge and upload 离线存储和上传解决方案 blog:http://blog.csdn.net/itas109

2017-06-03

cors跨域Tomcat文件

cors跨域Tomcat http://blog.csdn.net/itas109/article/details/70285802

2017-04-21

CSerialPort串口类最新修正版2017-03-12

新增功能: 1.增加宏定义_AFX,用于处理MFC的必要函数Hkey2ComboBox 2.进一步去除MFC依赖,修改AfxMessageBox函数 3.增加Win32的程序,用于验证非MFC程序的适用性 其他: 博客:blog.csdn.net/itas109 Email:itas109@qq.com

2017-03-26

CSerialPort串口类最新修正版2017-02-14

CSerialPort First Version by Remon Spekreijse on 2000-02-08 http://www.codeguru.com/cpp/i-n/network/serialcommunications/article.php/c2483/A-communication-class-for-serial-port.htm Second Version by mrlong on 2007-12-25 https://code.google.com/p/mycom/ 增加 ClosePort 增加 WriteToPort 两个方法 增加 SendData 与 RecvData 方法 by liquanhai on 2011-11-04 http://blog.csdn.net/liquanhai/article/details/4955253 增加 ClosePort 中交出控制权,防止死锁问题 by liquanhai on 2011-11-06 http://blog.csdn.net/liquanhai/article/details/6941574 增加 ReceiveChar 中防止线程死锁 by viruscamp on 2013-12-04 https://github.com/viruscamp/CSerialPort 增加 IsOpen 判断是否打开 修正 InitPort 中 parity Odd Even 参数取值错误 修改 InitPort 中 portnr 取值范围,portnr>9 时特殊处理 取消对 MFC 的依赖,使用 HWND 替代 CWnd,使用 win32 thread 函数而不是 MFC 的 增加用户消息编号自定义,方法来自 CnComm by itas109 on 2014-01-10 http://blog.csdn.net/itas109/article/details/18358297 解决COM10以上端口无法显示的问题 扩展可选择端口,最大值MaxSerialPortNum可以自定义 添加QueryKey()和Hkey2ComboBox两个方法,用于自动查询当前有效的串口号。 by liquanhai on 2014-12-18 增加一些处理措施,主要是对减少CPU占用率 by itas109 on 2016-05-07 http://blog.csdn.net/itas109 修复每次打开串口发送一次,当串口无应答时,需要关闭再打开或者接收完数据才能发送的问题。 解决办法:在m_hEventArray中调整m_hWriteEvent的优先级高于读的优先级。CommThread(LPVOID pParam)函数中读写的位置也调换。 参考:http://zhidao.baidu.com/link?url=RSrbPcfTZRULFFd2ziHZPBwnoXv1iCSu_Nmycb_yEw1mklT8gkoNZAkWpl3UDhk8L35DtRPo5VV5kEGpOx-Gea 修复停止位在头文件中定义成1导致SetCommState报错的问题,应为1对应的停止位是1.5。UINT stopsbits = ONESTOPBIT switch(stopbits)和switch(parity)增加默认情况,增强程序健壮性 by itas109 on 2016-06-22 http://blog.csdn.net/itas109 增加ReceiveStr方法,用于接收字符串(接收缓冲区有多少字符就接收多少字符)。 解决ReceiveChar只能接收单个字符的问题。 by itas109 on 2016-06-29 http://blog.csdn.net/itas109 解决RestartMonitoring方法和StopMonitoring方法命令不准确引起的歧义,根据实际作用。 将RestartMonitoring更改为ResumeMonitoring,将StopMonitoring更改为SuspendMonitoring。 增加IsThreadSuspend方法,用于判断线程是否挂起。 改进ClosePort方法,增加线程挂起判断,解决由于线程挂起导致串口关闭死锁的问题。 增加IsReceiveString宏定义,用于接收时采用单字节接收还是多字节接收 by itas109 on 2016-08-02 http://blog.csdn.net/itas109 https://github.com/itas109 改进IsOpen方法,m_hComm增加INVALID_HANDLE_VALUE的情况,因为CreateFile方法失败返回的是INVALID_HANDLE_VALUE,不是NULL 改进ClosePort方法:增加串口句柄无效的判断(防止关闭死锁);m_hWriteEvent不使用CloseHandle关闭 改进CommThread、ReceiveChar、ReceiveStr和WriteChar方法中异常处理的判断,增加三种判断:串口打开失败(error code:ERROR_INVALID_HANDLE)、连接过程中非法断开(error code:ERROR_BAD_COMMAND)和拒绝访问(error code:ERROR_ACCESS_DENIED) 采用安全函数sprintf_s和strcpy_s函数替换掉sprintf和strcpy 改进QueryKey方法,用于查询注册表的可用串口值,可以搜索到任意的可用串口 改进InitPort方法,串口打开失败,增加提示信息:串口不存在(error code:ERROR_FILE_NOT_FOUND)和串口拒绝访问(error code:ERROR_ACCESS_DENIED) 加入viruscamp 取消对 MFC 的依赖 改进InitPort方法,如果上次串口是打开,再次调用InitPort方法,关闭串口需要做一定的延时,否则有几率导致ERROR_ACCESS_DENIED拒绝访问,也就是串口占用问题 初始化默认波特率修改为9600 修复一些释放的BUG 规范了一些错误信息,参考winerror.h -- error code definitions for the Win32 API functions 删除SendData和RecvData方法 by itas109 on 2016-08-10 http://blog.csdn.net/itas109 https://github.com/itas109 改进ReceiveStr方法,comstat.cbInQue = 0xcccccccc的情况(如串口异常断开),会导致RXBuff初始化失败 by itas109 on 2017-02-14 http://blog.csdn.net/itas109 https://github.com/itas109 兼容ASCII和UNICODE编码 ReceiveStr函数中发送函数SendMessage的第二个参数采用结构体形式,包括portNr串口号和bytesRead读取的字节数,可以处理16进制的时候0x00截断问题 精简不必要的函数SendData和RecvData 尽量的取消对 MFC 的依赖,Hkey2ComboBox函数暂时保留 其他小问题修改 博客:blog.csdn.net/itas109 Email:itas109@qq.com

2017-02-14

CSerialPort串口类最新修正版2016-08-10

CSerialPort First Version by Remon Spekreijse on 2000-02-08 http://www.codeguru.com/cpp/i-n/network/serialcommunications/article.php/c2483/A-communication-class-for-serial-port.htm Second Version by mrlong on 2007-12-25 https://code.google.com/p/mycom/ 增加 ClosePort 增加 WriteToPort 两个方法 增加 SendData 与 RecvData 方法 by liquanhai on 2011-11-04 http://blog.csdn.net/liquanhai/article/details/4955253 增加 ClosePort 中交出控制权,防止死锁问题 by liquanhai on 2011-11-06 http://blog.csdn.net/liquanhai/article/details/6941574 增加 ReceiveChar 中防止线程死锁 by viruscamp on 2013-12-04 https://github.com/viruscamp/CSerialPort 增加 IsOpen 判断是否打开 修正 InitPort 中 parity Odd Even 参数取值错误 修改 InitPort 中 portnr 取值范围,portnr>9 时特殊处理 取消对 MFC 的依赖,使用 HWND 替代 CWnd,使用 win32 thread 函数而不是 MFC 的 增加用户消息编号自定义,方法来自 CnComm by itas109 on 2014-01-10 http://blog.csdn.net/itas109/article/details/18358297 解决COM10以上端口无法显示的问题 扩展可选择端口,最大值MaxSerialPortNum可以自定义 添加QueryKey()和Hkey2ComboBox两个方法,用于自动查询当前有效的串口号。 by liquanhai on 2014-12-18 增加一些处理措施,主要是对减少CPU占用率 by itas109 on 2016-05-07 http://blog.csdn.net/itas109 修复每次打开串口发送一次,当串口无应答时,需要关闭再打开或者接收完数据才能发送的问题。 解决办法:在m_hEventArray中调整m_hWriteEvent的优先级高于读的优先级。CommThread(LPVOID pParam)函数中读写的位置也调换。 参考:http://zhidao.baidu.com/link?url=RSrbPcfTZRULFFd2ziHZPBwnoXv1iCSu_Nmycb_yEw1mklT8gkoNZAkWpl3UDhk8L35DtRPo5VV5kEGpOx-Gea 修复停止位在头文件中定义成1导致SetCommState报错的问题,应为1对应的停止位是1.5。UINT stopsbits = ONESTOPBIT switch(stopbits)和switch(parity)增加默认情况,增强程序健壮性 by itas109 on 2016-06-22 http://blog.csdn.net/itas109 增加ReceiveStr方法,用于接收字符串(接收缓冲区有多少字符就接收多少字符)。 解决ReceiveChar只能接收单个字符的问题。 by itas109 on 2016-06-29 http://blog.csdn.net/itas109 解决RestartMonitoring方法和StopMonitoring方法命令不准确引起的歧义,根据实际作用。 将RestartMonitoring更改为ResumeMonitoring,将StopMonitoring更改为SuspendMonitoring。 增加IsThreadSuspend方法,用于判断线程是否挂起。 改进ClosePort方法,增加线程挂起判断,解决由于线程挂起导致串口关闭死锁的问题。 增加IsReceiveString宏定义,用于接收时采用单字节接收还是多字节接收 by itas109 on 2016-08-02 http://blog.csdn.net/itas109 https://github.com/itas109 改进IsOpen方法,m_hComm增加INVALID_HANDLE_VALUE的情况,因为CreateFile

2016-12-18

CSerialPort串口类最新修正版2016-08-02

CSerialPort First Version by Remon Spekreijse on 2000-02-08 http://www.codeguru.com/cpp/i-n/network/serialcommunications/article.php/c2483/A-communication-class-for-serial-port.htm Second Version by mrlong on 2007-12-25 https://code.google.com/p/mycom/ 增加 ClosePort 增加 WriteToPort 两个方法 增加 SendData 与 RecvData 方法 by liquanhai on 2011-11-04 http://blog.csdn.net/liquanhai/article/details/4955253 增加 ClosePort 中交出控制权,防止死锁问题 by liquanhai on 2011-11-06 http://blog.csdn.net/liquanhai/article/details/6941574 增加 ReceiveChar 中防止线程死锁 by viruscamp on 2013-12-04 https://github.com/viruscamp/CSerialPort 增加 IsOpen 判断是否打开 修正 InitPort 中 parity Odd Even 参数取值错误 修改 InitPort 中 portnr 取值范围,portnr>9 时特殊处理 取消对 MFC 的依赖,使用 HWND 替代 CWnd,使用 win32 thread 函数而不是 MFC 的 增加用户消息编号自定义,方法来自 CnComm by itas109 on 2014-01-10 http://blog.csdn.net/itas109/article/details/18358297 解决COM10以上端口无法显示的问题 扩展可选择端口,最大值MaxSerialPortNum可以自定义 添加QueryKey()和Hkey2ComboBox两个方法,用于自动查询当前有效的串口号。 by liquanhai on 2014-12-18 增加一些处理措施,主要是对减少CPU占用率 by itas109 on 2016-05-07 http://blog.csdn.net/itas109 修复每次打开串口发送一次,当串口无应答时,需要关闭再打开或者接收完数据才能发送的问题。 解决办法:在m_hEventArray中调整m_hWriteEvent的优先级高于读的优先级。CommThread(LPVOID pParam)函数中读写的位置也调换。 参考:http://zhidao.baidu.com/link?url=RSrbPcfTZRULFFd2ziHZPBwnoXv1iCSu_Nmycb_yEw1mklT8gkoNZAkWpl3UDhk8L35DtRPo5VV5kEGpOx-Gea 修复停止位在头文件中定义成1导致SetCommState报错的问题,应为1对应的停止位是1.5。UINT stopsbits = ONESTOPBIT switch(stopbits)和switch(parity)增加默认情况,增强程序健壮性 by itas109 on 2016-06-22 http://blog.csdn.net/itas109 增加ReceiveStr方法,用于接收字符串(接收缓冲区有多少字符就接收多少字符)。 解决ReceiveChar只能接收单个字符的问题。 by itas109 on 2016-06-29 http://blog.csdn.net/itas109 解决RestartMonitoring方法和StopMonitoring方法命令不准确引起的歧义,根据实际作用。 将RestartMonitoring更改为ResumeMonitoring,将StopMonitoring更改为SuspendMonitoring。 增加IsThreadSuspend方法,用于判断线程是否挂起。 改进ClosePort方法,增加线程挂起判断,解决由于线程挂起导致串口关闭死锁的问题。 增加IsReceiveString宏定义,用于接收时采用单字节接收还是多字节接收 by itas109 on 2016-08-02 http://blog.csdn.net/itas109 https://github.com/itas109 改进IsOpen方法,m_hComm增加INVALID_HANDLE_VALUE的情况,因为CreateFile

2016-08-08

electron v30试用版 中标麒麟v7/银河麒麟v10/centos7等linux系统在aarch64/arm64架构可用

electron v30试用版中标麒麟v7/银河麒麟v10/centos7等linux系统在aarch64/arm64架构可用 该版本采用源码编译而来,解决electron在aarch64下白屏及崩溃等问题。 electron版本:v30.0.0 该版本为试用版,启动一段时间后会退出程序。 完整版本请邮件 itas109@qq.com

2024-05-11

银河麒麟v10下载(服务器版 桌面版)-BT种子下载文件-20231114

博客 https://itas109.blog.csdn.net/article/details/109453945 Kylin-Desktop-V10-SP1-2303-update1-Wayland-Release-General-kirin9006c-20230703-ARM64.iso.torrent Kylin-Desktop-V10-SP1-General-Release-2303-ARM64.iso.torrent Kylin-Desktop-V10-SP1-General-Release-2303-LoongArch64.iso.torrent Kylin-Desktop-V10-SP1-General-Release-2303-MIPS64el.iso.torrent Kylin-Desktop-V10-SP1-General-Release-2303-SW64.iso.torrent Kylin-Desktop-V10-SP1-General-Release-2303-X86_64.iso.torrent Kylin-Server-10-SP1-Release-B

2023-11-14

银河麒麟v10下载(服务器版 桌面版)-BT种子下载文件-20221124

博客 https://itas109.blog.csdn.net/article/details/109453945 Kylin-Desktop-V10-SP1-General-Release-2203-ARM64.iso.torrent Kylin-Desktop-V10-SP1-General-Release-2203-LoongArch64.iso.torrent Kylin-Desktop-V10-SP1-General-Release-2203-MIPS64el.iso.torrent Kylin-Desktop-V10-SP1-General-Release-2203-X86_64.iso.torrent Kylin-Desktop-V10-SP1-HWE-Release-2203-X86_64.iso.torrent Kylin-Server-10-SP1-Release-Build18-20210809-mips64el.iso.torrent Kylin-Server-10-SP2-Release-Build09-20210524-arm64.iso.torrent

2022-11-24

gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabi.tar.xz

gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabi.tar.xz arm交叉编译器gcc-4.8.5

2021-08-11

cmake-3.20.3-linux-x86_64.sh

cmake-3.20.3-linux-x86_64.sh 该版本为Linux跨操作系统版本,从github上备份到此处 https://github.com/Kitware/CMake/releases/download/v3.20.3/cmake-3.20.3-linux-x86_64.sh

2021-06-08

LLVM-12.0.0-win64.exe

Clang是一个由Apple主导编写,基于LLVM的C/C++/Objective-C编译器.快速编译和较少内存占用 ;有诊断功能;兼容GCC; https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/LLVM-12.0.0-win64.exe

2021-06-08

TortoiseGit-2.12.0.0-64bit & Git-2.32.0-rc3-64-bit

包含文件: TortoiseGit-2.12.0.0-64bit.msi TortoiseGit-LanguagePack-2.12.0.0-32bit-zh_CN.msi Git-2.32.0-rc3-64-bit.exe 来源:https://mirrors.huaweicloud.com

2021-06-08

酷开5S05_U2 5.5版本原厂系统刷机包 (android 5.0.1)

酷开5S05_U2 5.5版本原厂系统刷机包 (android 5.0.1) 文件大小:480237293 字节 MD5 :4F3173AD58064D2BEA7A895671FEE83A SHA1 :514E850F602FA33A9FAABD8F46250244456DE3BC CRC32 :D5A19B66

2021-01-24

ReactOS-0.4.13-release-14-g2494cfc-iso.zip

ReactOS项目致力于为大家开发一个免费而且完全兼容 Microsoft Windows XP 的操作系统。ReactOS 旨在通过使用类似构架和提供完整公共接口实现与 NT 以及 XP 操作系统二进制下的应用程序和驱动设备的完全兼容。 https://sourceforge.net/projects/reactos/files/ReactOS/0.4.13/ReactOS-0.4.13-release-14-g2494cfc-iso.zip/download

2021-01-23

中标麒麟v7/银河麒麟v10/uos20/centos7/centos8/其他linux系统在aarch64/arm64的cpu架构下可以使用的electron

中标麒麟v7/银河麒麟v10/uos20/centos7/centos8/其他linux系统在aarch64/arm64的cpu架构下可以使用的electron。 该版本采用源码编译而来,解决electron在aarch64下白屏及崩溃等问题。 electron版本:7.1.4 https://blog.csdn.net/itas109 itas109@qq.com

2020-12-06

android-ndk-r18b-linux-x86_64.zip

android-ndk-r18b-linux-x86_64.zip https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip

2020-10-28

LLVM-10.0.0-win64.exe

Clang是一个由Apple主导编写,基于LLVM的C/C++/Objective-C编译器.快速编译和较少内存占用 ;有诊断功能;兼容GCC;

2020-10-21

LLVM-11.0.0-win64.exe

Clang是一个由Apple主导编写,基于LLVM的C/C++/Objective-C编译器.快速编译和较少内存占用 ;有诊断功能;兼容GCC;

2020-10-21

CSerialPort-4.1.0.201010

轻量级、跨平台、高效的串口类库 CSerialPort类地址: https://github.com/itas109/CSerialPort https://gitee.com/itas109/CSerialPort 跨平台版本:4.1.0.201010 windows稳定版:V3.0.3.180621 https://download.csdn.net/download/itas109/104916 其他: 博客:blog.csdn.net/itas109 Email:itas109@qq.com

2020-10-11

CSerialPort-4.0.3

一个全新的轻量级、跨平台、高效的串口类库 设计原则: 跨平台设计、简单易用、高效 版本:4.0.3.200429 windows稳定版:V3.0.3.180621 https://download.csdn.net/download/itas109/10491607 其他: 博客:blog.csdn.net/itas109 Email:itas109@qq.com Github:https://github.com/itas109/CSerialPort

2020-04-29

cmake-3.16.4-Linux-x86_64.sh

cmake-3.16.4-Linux-x86_64 该版本为Linux跨操作系统版本,从github上备份到此处

2020-02-17

emqx-windows-v3.2.3.zip

Windows 通过 emqx.io 或 github 选择 Windows 版本,然后下载要安装的 .zip 包。 解压压缩包 打开 Windows 命令行窗口,cd 到程序目录, 启动 EMQ X。 cd emqx/bin emqx start

2020-02-16

swagger-editor-v3.7.1.zip

swagger-editor-v3.7.1.zip 博客:https://itas109.blog.csdn.net

2019-11-27

swagger-codegen-cli-2.4.9.jar

swagger-codegen-cli-2.4.9.jar 博客:https://itas109.blog.csdn.net

2019-11-27

nodejs_odbc_demo.zip

nodejs的ODBC连接解决方案 示例Demo 博客:https://itas109.blog.csdn.net/article/details/102749567

2019-10-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除