自定义博客皮肤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

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

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

CSerialPort是一个基于C++的轻量级开源跨平台串口类库,可以轻松实现跨平台多操作系统的串口读写,同时还支持C, C#, Java, Python, Node.js, Electron, Rust等。

2018-11-20 09:47:50 27703 46

原创 itas109的开源项目汇总

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

2016-05-27 14:48:51 3884

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

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

2015-09-13 11:07:47 5756

原创 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 47222 23

原创 antlr4 C++入门 - antlr4 访问器和监听器计算结果

本文介绍了使用ANTLR4 C++实现算术表达式计算的两种方法:访问器(visitor)和监听器(listener)模式。访问器模式通过继承calculatorBaseVisitor类并重写visit方法,直接递归计算表达式结果;监听器模式则利用ParseTreeProperty类标记语法树节点,在遍历时计算结果。两种方法都能正确计算"1+2*3"等表达式结果(输出7),访问器更简洁而监听器更灵活。文中提供了完整的代码示例和运行结果,展示了ANTLR4在C++中的实际应用。

2025-08-01 17:44:49 137

原创 antlr4 C++入门 - antlr4 C++运行时的集成及遍历解析树

本文介绍了在C++项目中集成ANTLR4解析器的方法。通过计算器语法示例calculator.g4,演示了如何生成C++解析器代码(包含访问器和监听器)。详细说明了项目目录结构、CMake配置和主程序实现,展示了如何解析简单数学表达式"1+2*3"并输出解析树结构。环境使用ANTLR4 4.13.2、JDK11和VS2022/g++12编译器,最终成功生成了可执行的解析器程序,能够正确解析输入表达式并显示解析树。

2025-08-01 17:44:08 219

原创 antlr4 C++入门 - antlr4开发环境搭建及语法的设计 调试 运行

本文介绍了ANTLR4在C++开发中的入门指南,重点讲解了环境搭建和语法设计调试流程。首先给出推荐的环境配置(ANTLR 4.13.2 + JDK 11),然后通过一个计算器语法示例(calculator.g4)展示语法规则编写方法。详细介绍了VS Code中ANTLR4插件的使用技巧,包括语法可视化、调试配置和代码格式化选项。最后概述了ANTLR工具的代码生成参数和Java运行时工具的使用方法,如解析树可视化等。文章提供了完整的开发工作流指导,从环境搭建到语法设计、调试和运行的各个环节。

2025-08-01 17:43:19 776

原创 树莓派 香橙派SD卡TF卡U盘系统备份与还原

本文介绍了树莓派、香橙派等开发板的SD卡/TF卡/U盘系统备份与还原的三种常用方法:1)使用Win32DiskImager工具在Windows下进行GUI操作备份还原;2)使用Linux系统下的dd命令进行精确复制,支持压缩备份还原;3)利用专业软件DiskGenius(需专业版)实现整盘备份还原。这些方法适用于批量系统部署场景,可根据不同操作系统环境选择适合的工具完成系统镜像的创建和恢复。

2025-07-30 21:15:31 348

原创 unixbench系统性能测试

UnixBench 6.0.0是一款经典的Unix/Linux系统性能测试工具,主要用于评估CPU、内存、多线程及系统调用性能。安装需通过git获取源码并make编译,运行命令包括系统测试、图形测试和综合测试。为确保测试结果准确可比,建议保持相同的操作系统版本、编译器选项、系统配置和UnixBench版本。该工具特别适用于开发板的性能评估。

2025-07-22 15:18:20 327

原创 PHICOMM(斐讯)N1盒子 - Armbian25.05(Debian 12)刷入U盘/EMMC

摘要: 本文介绍在斐讯N1盒子上刷入Armbian 25.05(Debian 12)系统的完整流程。使用ophub维护的Armbian镜像,支持S905D芯片。步骤包括:确认固件版本为2.19、通过balenaEtcher刷入U盘、启动后初始化账户、写入EMMC并完成启动。系统基于Debian 12 bookworm,内核为6.1 LTS,性能测试显示单核334.5分,多核1149.6分(UnixBench)。提供镜像校验信息,确保安全刷机。

2025-07-22 15:00:11 759

原创 CSerialPort教程4.3.x (9) - CSerialPort协议解析器的使用

本文将介绍CSerialPort如何使用协议解析器解决粘包和半包问题。串口通信中的粘包和半包是流式数据(无数据边界)传输的典型问题,主要表现为接收端无法正确解析发送端的数据边界。粘包是指多个数据包在接收端被合并为一个连续数据流,无法区分边界(如发送 包1 + 包2 => 接收 包1包2)半包是指一个完整数据包被拆分成多次接收(如发送 ABCDEF => 先接收 ABC,再接收 DEF)

2025-06-29 15:08:35 1132

原创 C++语言发展历程-2025

C++自1979年诞生以来,历经C++98到2024的C++23等多个标准版本迭代,已成为支持多范式编程的高性能系统级语言。其核心特性包括:面向对象编程、泛型编程(模板)、函数式编程(Lambda)以及零成本抽象原则。标准库STL提供丰富容器和算法,现代特性如移动语义(C++11)、协程(C++20)和模块化(C++20)持续增强语言能力。当前主流编译器(GCC 11+/Clang 15+/MSVC 2022+)已全面支持C++20标准,生产环境推荐使用C++17

2025-06-23 21:44:52 936

原创 调试器基本原理

调试器(debugger),是一种用于控制其他程序执行流程、监控和修改其他程序状态的软件工具。调试器通过实时分析程序的执行状态,协助开发者定位代码错误、了解程序工作原理、性能调优及逆向工程等。

2025-06-07 23:03:50 665

原创 环形缓冲区 ring buffer 概述

环形缓冲区(ring buffer),是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。也称作环形缓冲区(circular buffer),环形队列(circular queue),循环缓冲区(cyclic buffer)。

2025-05-18 00:01:37 1835

原创 雷电等基于VirtualBox的Android模拟器映射串口和测试CSerialPort串口功能

雷电等基于VirtualBox的Android模拟器映射串口和测试CSerialPort串口功能

2025-02-01 20:29:22 952

原创 常用Android模拟器(雷电 MuMu 夜神 Genymotion 蓝叠) - 20250131

Android 模拟器是一种软件工具,允许用户在 Windows、Linux 或 macOS 电脑上运行 Android 操作系统,以模拟 Android 设备的行为。它广泛用于 开发测试、应用运行、游戏模拟 等场景,提供与实际 Android 设备相似的功能,如触摸操作、传感器模拟、网络调试等。

2025-01-31 18:02:46 718

原创 Rust使用国内源加速在线安装开发环境搭建

Rust使用国内源加速在线安装开发环境搭建

2024-12-23 23:17:11 1455

原创 Rust调用C动态库

rust bindgen 是一个能自动为 C(或 C++)库生成 Rust 绑定的辅助库和命令行工具。C++ (目前)的支持并不完整。也就是说,bindgen 可以作为一个 crate,与 Cargo 的 build.rs 机制配合,根据 C/C++ 的头文件(.h, .hpp),在构建阶段,编译主体 Rust 代码之前,自动生成 Rust 绑定文件。

2024-12-23 22:18:38 753

原创 C++中protobuf MessageLite与JSON的互相转换

protobuf MessageLite的性能最好,但是不支持JSON转换。本文通过JSON转换为Message(DynamicMessage),再从Message转换为MessageLite。MessageLite转换JSON的过程为上述过程的逆过程。

2024-12-03 22:35:55 484

原创 C++中protobuf 动态加载.proto文件

protobuf动态加载.proto文件,可以不生成cpp文件的情况下操作Message对象。动态加载方式的性能会稍差一些。

2024-12-03 22:18:53 584

原创 C++中protobuf Message与MessageLite的互相转换

protobuf Message 和 MessageLite 对比特性Message功能完整功能:序列化、反序列化和基本字段访问,还额外支持反射、文本格式化、调试等基本功能:序列化、反序列化和基本字段访问反射支持反射,可以动态访问字段及其元信息不支持反射,无法动态访问字段JSON转换支持 JSON 序列化/反序列化(需util/json_util.h)不直接支持 JSON 转换文本格式化支持TextFormat API,便于调试不支持文本格式化动态加载。

2024-12-03 21:47:55 639

原创 C++中protobuf Message与JSON的互相转换

PB转JSON:Protocol Buffers的Message对象转换为 JSON 格式字符串JSON转PB:JSON格式字符串解析为 Protocol Buffers 的Message对象protobuf中可以通过MessageToJsonString和JsonStringToMessage函数完成上述转换。

2024-12-03 20:18:11 1188

原创 C++11 http服务端和客户端库cpp-httplib

cpp-httplib是一个轻量级且易于使用的 C++11 HTTP 库,由 yhirose 开发和维护,开源协议为MIT。它支持 HTTP/HTTPS 协议,可用于创建简单的客户端和服务器应用程序。支持 Windows、macOS 和 Linux等操作系统支持 HTTP/1.1 和 HTTPS 协议支持 GET、POST、PUT、DELETE 等 HTTP 方法支持文件上传和下载支持自定义响应头和请求头支持压缩和解压缩(如 gzip)支持路由功能,可以匹配和处理不同的 URL 路径。

2024-11-27 23:18:54 948

原创 Electron调用nodejs的cpp .node扩展【安全】

Electron是一个非常流行的跨平台桌面应用框架,它允许开发者使用Web技术来创建原生应用。然而,当应用需要进行高性能计算或访问系统API时,Web技术可能会成为性能瓶颈。这时,开发者可以选择使用C++来开发底层库,并在Electron中调用这些库,以实现高性能的功能。在前面的文章中,我们使用禁用 contextIsolation 和启用 nodeIntegration的方式来调用C++扩展,这样会降低应用的安全性。

2024-10-24 22:52:06 837

原创 Electron调用nodejs的cpp .node扩展【非安全】

Electron中可以非常容易的调用nodejs的js代码,但是对于cpp .node扩展需要一定的配置才能调用,下面介绍一种最简单的cpp扩展的调用方法,该方法的优点是调用简单,缺点是会降低应用程序的安全性,生产环境中需谨慎使用。

2024-10-24 22:46:11 431 2

原创 Electron获取nodejs和chrome版本信息

Electron获取nodejs和chrome版本信息

2024-09-29 12:58:07 1133

原创 C++中使用protobuf

install目录结构。

2024-08-04 19:00:00 582

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

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

2024-07-13 23:52:53 560

原创 我的创作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 568

原创 Rust开发环境搭建

Rust开发环境搭建

2024-07-06 16:10:31 797

原创 常见的编码技术简介

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 1162

原创 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 645

原创 香橙派 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 2416 2

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

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

2024-05-05 23:43:51 1185

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

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

2024-04-29 19:32:22 588

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

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

2024-03-25 23:10:54 906

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

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

2024-03-24 21:09:51 5859 1

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

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

2024-03-19 19:54:17 41988

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

llvm module输出信息的几种方式

2023-12-24 09:51:27 1095

原创 自动驾驶芯片指标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 10320

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

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

2017-03-26

QT不卡界面Demo

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

2018-03-20

QT不卡界面Demo V2

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

2018-03-20

离线数据存储和上传方案

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串口类最新修正版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

ctemplate生成文件

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

2017-11-30

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

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

2018-06-15

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

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:[email protected]

2017-02-14

QT使用GSoap发布WebService的Demo

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

2018-06-11

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

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:[email protected]

2018-02-25

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

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

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

2017-12-16

Fiddler Web Debugger(5.0.20192.25092)中文版.zip

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

2019-10-18

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

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

2018-01-08

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:[email protected]

2018-06-21

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

ha_innosetup5509_打包程序

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

2017-12-14

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

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

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

LLVM-11.0.0-win64.exe

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

2020-10-21

nodejs_odbc_demo.zip

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

2019-10-26

swagger-codegen-cli-2.4.9.jar

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

2019-11-27

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:[email protected] Github:https://github.com/itas109/CSerialPort

2020-04-29

中标麒麟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 [email protected]

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

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

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

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:[email protected]

2020-10-11

emqx-windows-v3.2.3.zip

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

2020-02-16

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

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

LLVM-10.0.0-win64.exe

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

2020-10-21

酷开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

swagger-editor-v3.7.1.zip

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

2019-11-27

cmake-3.16.4-Linux-x86_64.sh

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

2020-02-17

空空如也

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

TA关注的人

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