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

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

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

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

2018-11-20 09:47:50 28865 47

原创 itas109的开源项目汇总

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

2016-05-27 14:48:51 4121

原创 基于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 5947

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

原创 PHICOMM(斐讯)N1盒子 - fnOS飞牛NAS刷入U盘 EMMC及wifi连接

摘要:本文详细介绍了在斐讯N1盒子上刷入飞牛NAS系统(fnOS)并配置WiFi连接的完整流程。内容包括:确认固件版本、U盘刷写系统、写入EMMC、安装WiFi驱动(Cypress CYW43455芯片)以及最终的系统初始化设置。该系统基于Debian 12开发,支持ARM架构,通过简单命令行操作即可实现无线网络连接,最终可通过浏览器访问NAS管理界面。文末提供了官方安装指南参考链接。

2026-01-08 00:10:45 2432

原创 Linux交叉编译工具链

本文介绍了Linux交叉编译工具链的基本概念和组成。主要内容包括:1) 工具链命名规则解析,包含架构、厂商、操作系统和ABI等组成部分;2) 工具链的核心组件,如编译器、Binutils工具集、C标准库和sysroot系统根目录;3) 不同C标准库的特点及适用场景对比;4) 三种构建交叉工具链的方法:crosstool-NG、Buildroot和手动编译。文章为开发者在不同平台间进行交叉编译提供了技术参考。

2026-01-03 10:30:27 430

原创 windows单网卡配置多网段IP

本文介绍了在Windows系统中为单网卡配置多网段IP的方法。通过三种方式打开网络适配器配置界面后,在IPv4属性中添加多个IP地址(如192.168.1.100和192.168.2.100)及对应的子网掩码。配置完成后,可通过适配器属性或ipconfig命令验证多个IP地址是否生效。这种方法避免了频繁修改IP设置的麻烦,方便运维人员连接不同网段的设备。

2025-12-13 22:17:52 644 1

原创 windows共享网络给网线直连的linux上网

本文介绍了Windows共享网络(ICS)的实现方法及Linux验证步骤。在Windows端通过三种方式打开网络适配器配置,选择指定网卡启用共享功能,将其IP设为192.168.137.1作为网关。Linux端可通过DHCP自动获取或手动配置同网段IP(如192.168.137.100),设置相同网关后即可通过ping测试网络连通性。该方案实现了Windows主机与Linux设备间的网络共享。

2025-12-13 22:17:02 264

原创 Qt 5.12.12 windows和linux打包部署绿色软件

本文介绍了在Windows和Linux系统下打包部署Qt 5.12.12应用程序的方法。在Windows平台,详细说明了使用MSVC和MinGW两种编译器时如何通过windeployqt工具自动打包Qt动态库、插件库和运行时库。Linux平台则介绍了两种方案:使用linuxdeployqt自动打包和通过ldd命令手动收集依赖库。文章提供了完整的目录结构和环境配置说明,帮助开发者将Qt程序部署到无开发环境的纯净系统中运行。

2025-11-25 22:00:00 459

原创 电力系统调度自动化的五遥: 遥信 遥测 遥控 遥调 遥视

电力系统调度自动化的"五遥"功能包括遥信(YX)、遥测(YC)、遥控(YK)、遥调(YT)和遥视(YS)。这五项功能分别对应:远程采集开关状态、测量模拟量、控制开关操作、调节模拟量参数以及获取视频图像。从一遥发展到五遥,电力系统的远程监控和控制能力逐步完善。五遥系统实现了电力运行参数的全面监测和远程操作,涵盖断路器状态、电压电流等测量、开关控制、功率调节以及可视化监控功能,为电网调度提供了全面的自动化支持。

2025-11-14 22:00:00 559

原创 开发常用软件清单

本文整理了一份开发常用软件清单,涵盖14类实用工具: 主流IDE(IntelliJ IDEA、PyCharm、VS、Xcode) 系统监控工具(System Informer、Process Explorer) 依赖分析工具(Dependencies、Dependency Walker) 数据库工具(DBeaver、Navicat) 远程连接工具(MobaXterm、Xshell、TeamViewer) 文件传输工具(FileZilla、WinSCP) 代码编辑器(VS Code、Typora) 思维导图工

2025-11-04 00:00:00 1732

原创 vmware windows和linux系统共享和映射物理机目录

本文介绍了在VMware虚拟机中实现Windows和Linux系统与物理机目录共享的方法。首先需要安装VMware Tools并启用共享文件夹功能,Windows可通过"\vmware-host\Shared Folders"访问,Linux则在"/mnt/hgfs/"目录下。为方便使用,可以创建符号链接:Windows使用mklink命令映射网络驱动器或直接创建链接,Linux使用ln -s命令创建软链接到用户目录。这种方法实现了虚拟机与物理机间的便捷文件共享。

2025-11-03 23:30:00 237

原创 软件项目管理工具

本文介绍了多种软件开发项目管理工具,包括: 版本控制系统(SVN、Git、TFS) 缺陷跟踪工具(禅道、MantisBT等) 知识管理平台(Wiki.js、飞书等) 远程控制软件(向日葵、RustDesk等) 质量检测工具(SonarQube) CICD工具(Jenkins) FTP工具(FileZilla) 论坛系统(Discuz、WordPress) 原型设计工具(墨刀、Axure) 这些工具涵盖了软件项目管理的全过程,为开发团队提供了全面的解决方案。

2025-10-31 00:00:00 1486

原创 LLVM后端简介

本文介绍了LLVM后端的基本概念和工作流程。LLVM后端负责将硬件无关的LLVM中间表示(IR)转换为特定架构的汇编代码或目标文件,主要过程包括指令选择、寄存器分配和指令调度。文章概述了LLVM后端支持的多种架构,如X86、ARM、RISC-V等CPU架构,以及GPU、MCU和WebAssembly等平台。同时提到使用TableGen可以快速开发新后端。LLVM后端广泛应用于传统编译器、人工智能框架和异构计算等领域。

2025-09-20 01:02:09 551

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

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

2025-08-01 17:44:49 438

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

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

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

2025-08-01 17:43:19 982

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

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

2025-07-30 21:15:31 853

原创 unixbench系统性能测试

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

2025-07-22 15:18:20 471

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

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

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

2025-06-29 15:08:35 1448

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

原创 调试器基本原理

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

2025-06-07 23:03:50 1042

原创 环形缓冲区 ring buffer 概述

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

2025-05-18 00:01:37 2890

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

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

2025-02-01 20:29:22 1382

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

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

2025-01-31 18:02:46 1247

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

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

2024-12-23 23:17:11 2161

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

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

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

2024-12-03 22:35:55 586

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

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

2024-12-03 22:18:53 697

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

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

2024-12-03 21:47:55 818

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

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

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

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

2024-10-24 22:52:06 935

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

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

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

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

Electron获取nodejs和chrome版本信息

2024-09-29 12:58:07 1378

原创 C++中使用protobuf

install目录结构。

2024-08-04 19:00:00 679

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

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

2024-07-13 23:52:53 596

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

原创 Rust开发环境搭建

Rust开发环境搭建

2024-07-06 16:10:31 1018

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

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:itas109@qq.com

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:itas109@qq.com

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:itas109@qq.com

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:itas109@qq.com

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 该版本为试用版,启动一段时间后会退出程序。 完整版本请邮件 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

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:itas109@qq.com 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 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

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:itas109@qq.com

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关注的人

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