- 博客(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调用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
原创 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
原创 常见的编码技术简介
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
原创 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
原创 自动驾驶芯片指标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
2017-03-26
QT不卡界面Demo
2018-03-20
QT不卡界面Demo V2
2018-03-20
离线数据存储和上传方案
2017-06-03
cors跨域Tomcat文件
2017-04-21
CSerialPort串口类最新修正版2016-08-02
2016-08-08
CSerialPortV3.0.2串口类最新修正版2018-06-15
2018-06-15
VS2017安装包
2019-07-10
CSerialPort串口类最新修正版2017-02-14
2017-02-14
QT使用GSoap发布WebService的Demo
2018-06-11
CSerialPort串口类最新修正版2016-08-10
2016-12-18
CSerialPortV3.0.1串口类最新修正版2018-02-14
2018-02-25
MinGW_gcc7.3.0_x86_64_offline离线安装包
2019-08-17
CSerialPortV3.0.0串口类最新修正版2017-12-16
2017-12-16
Fiddler Web Debugger(5.0.20192.25092)中文版.zip
2019-10-18
pocketsphinx在windows下的中文语音识别Demo
2018-01-08
CSerialPortV3.0.3串口类最新修正版2018-06-21
2018-06-21
nexus 3-3.19.0-01-win64.7z
2019-10-08
ha_innosetup5509_打包程序
2017-12-14
electron v30试用版 中标麒麟v7/银河麒麟v10/centos7等linux系统在aarch64/arm64架构可用
2024-05-11
银河麒麟v10下载(服务器版 桌面版)-BT种子下载文件-20231114
2023-11-14
银河麒麟v10下载(服务器版 桌面版)-BT种子下载文件-20221124
2022-11-24
LLVM-11.0.0-win64.exe
2020-10-21
nodejs_odbc_demo.zip
2019-10-26
swagger-codegen-cli-2.4.9.jar
2019-11-27
CSerialPort-4.0.3
2020-04-29
中标麒麟v7/银河麒麟v10/uos20/centos7/centos8/其他linux系统在aarch64/arm64的cpu架构下可以使用的electron
2020-12-06
android-ndk-r18b-linux-x86_64.zip
2020-10-28
ReactOS-0.4.13-release-14-g2494cfc-iso.zip
2021-01-23
LLVM-12.0.0-win64.exe
2021-06-08
TortoiseGit-2.12.0.0-64bit & Git-2.32.0-rc3-64-bit
2021-06-08
CSerialPort-4.1.0.201010
2020-10-11
emqx-windows-v3.2.3.zip
2020-02-16
cmake-3.20.3-linux-x86_64.sh
2021-06-08
gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabi.tar.xz
2021-08-11
LLVM-10.0.0-win64.exe
2020-10-21
酷开5S05_U2 5.5版本原厂系统刷机包 (android 5.0.1)
2021-01-24
swagger-editor-v3.7.1.zip
2019-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人