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

2023-11-06

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

前言

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

CSerialPort项目的开源协议自 V3.0.0.171216 版本后采用GNU Lesser General Public License v3.0

为了让开发者更好的使用CSerialPort进行开发,特编写基于4.3.x版本的CSerialPort教程系列。

CSerialPort项目地址:

1. CSerialPort设计原则

  • 跨平台
  • 简单易用
  • 高效

2. CSerialPort平台支持

CSerialPort已经在以下平台做过测试:

  • Windows ( x86, x86_64, arm64 )
  • Linux ( x86, x86_64, arm, arm64/aarch64, mips64el, riscv, s390x, ppc64le )
  • macOS ( x86_64 )
  • Raspberry Pi ( armv7l )
  • FreeBSD ( x86_64 )

3. CSerialPort快速开始

3.1 获取源码

$ git clone https://github.com/itas109/CSerialPort

国内开发者建议使用https://gitee.com/itas109/CSerialPort

3.2 编译源代码

$ git clone https://github.com/itas109/CSerialPort
$ cd CSerialPort
$ mkdir bin && cd bin
$ cmake ..
$ cmake --build .

3.3 运行测试程序

上一步编译过程中默认编译了串口控制台测试程序CommNoGui

在输出目录bin中找到CSerialPortDemoNoGui运行(如linux下串口环回测试)

Version: https://github.com/itas109/CSerialPort - V4.3.0.230215

availableFriendlyPorts: 
1 - /dev/ttyUSB0  
2 - /dev/ttyS0  
3 - /dev/pts/0  

Please Input The Index Of Port(1 - 3)
1
Port Name: /dev/ttyUSB0
Open /dev/ttyUSB0 Success. Code: 0, Message: success
/dev/ttyUSB0 - Count: 1, Length: 12, Str: 12345itas109, Hex: 0x31 0x32 0x33 0x34 0x35 0x69 0x74 0x61 0x73 0x31 0x30 0x39

3.4 其他示例代码

在examples 目录中还提供了MFC、控制台无界面、QT、文本界面及wxwidgets的示例程序

examples # example 示例目录
    |-- CommMFC # CSerialPort MFC Demo use source code win32直接调用源码MFC程序示例
    |-- CommNoGui # CSerialPort No Gui Demo 无界面程序示例
    |-- CommQT # CSerialPort QT Demo QT程序示例
    |-- CommTui # CSerialPort tui Demo 文本界面程序示例
    |-- CommWXWidgets # CSerialPort wxwidgets demo wxwidgets程序实例

4. 基于CSerialPort的应用

4.1 CommMaster通信大师

  • 支持windows/linux/macos/raspberrypi等等
  • 支持自定义串口名称
  • 支持自定义波特率
  • 支持自定义语言
  • 支持自定义主题

https://gitee.com/itas109/CommMaster

4.2 CommLite

CommLite是一款基于CSerialPort的文本UI串口调试助手

  • 支持x86, arm, mips等cpu架构
  • 支持windows dos, linux, macos, raspberrypi, freebsd等操作系统

https://github.com/itas109/CommLite

License

License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎

如需转载请标明出处:[https://blog.csdn.net/itas109 ]


Reference:

  1. https://github.com/itas109/CSerialPort
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSerialPort教程4.3.x (1) - CSerialPort项目简介 的相关文章

  • STM32使用USART串口调试ULN2003驱动步进电机

    传送门 STM32控制ULN2003驱动步进电机28BYJ 48最基础版 使用串口调试步进电机28BYJ 48获得需要转速 当使用STM32控制ULN2003驱动步进电机28BYJ 48时 步进电机转速变化缓慢 想要得到合适的控制速度 需要
  • 基于stm32f1的lora开发基础通信实验

    一 实验条件 环境 win10专业版 keil uv5 串口调试助手 stm32f1系列单片机 as32lora模块 这里是泽耀科技的as32 ttl 100 二 实现功能 1 使用定时器将底层数据通过as32每隔1秒向上层串口发送一段数据
  • 魔方机器人之下位机编程-----两种串口通信方式的比较

    由于上位机软件的串口通信部分和魔方复原算法部分已经完成 接下来的一步就是如何将魔方复原的具体步骤 字符串的形式 通过串口发送给单片机MC9S12XS128单片机了 调试的过程中 采用了两种串口通信的方式 一种是查询的方式 另一种是中断的方式
  • 西门子PLC各类通信协议差异对比

    西门子PLC有4大类 几十个型号类型 PLC不同所支持的通讯协议也不相同 S7 200系列支持的协议有 PPI MPI PROFIBUS 以太网 S7协议 AS INTERFACE USS MODBUS 自由口 S7 300 400系列支持
  • STM32F1应用DMA——串口收发不定长数据

    STM32F1应用DMA 串口收发不定长数据 使用STM32自带DMA传输数据 可以减轻CPU负担 只需设置一些参数即可发送想要发送的数据 以下是STM32F1系列芯片测试过的部分代码 可实现DMA串口收发数据 下图来自STM32官网的手册
  • 蓝桥杯单片机学习过程记录(二十八)第五届国赛串口通信相关代码补充

    蓝桥杯单片机学习过程记录 二十八 第五届国赛串口通信相关代码补充 UART串口通信 第五届国赛uart串口内容相关补充 设置数组存储输入输入字符 并与设定的密码相判断 include
  • Python实现串口通信(pyserial)

    Python实现串口通信 pyserial pyserial模块封装了对串口的访问 兼容各种平台 安装 pip insatll pyserial 初始化 简单初始化示例 import serial ser serial Serial com
  • c++实现串口通讯踩坑(argument of type “char *“ is incompatible with parameter of type “LPCWSTR“)

    在C下 可以使用outportb和inportb进行串口通讯 C 没有这两个函数 那就使用createfile吧 通过网上搜到读取打开串口的例子 如下 include
  • Android 蓝牙串口通信Demo

    目录 一 前言 二 效果图 三 源码 带注释 1 布局代码 2 Java代码 3 权限声明 四 注意 五 项目源码下载 一 前言 在学校和机电的同学组队准备做一个智能小车去参加比赛 需要我开发一个小车的控制app 所以我开始学习蓝牙串口通信
  • STM32双串口

    STM32双串口的使用 最近老是需要stm32通过串口去跟WiFi模块 蓝牙模块 openmv进行数据交互 然后需要用到stm32的串口调试 就把这个程序整理成一个工程 方便调试 实验目的 外设模块 WiFi模块 蓝牙模块 openmv 发
  • QT开发之串口通信(四)

    VS2015 QtPackage版本1 3 11插件 QT5 13 1 最近使用串口遇到一些问题 1 问题 在上述编译环境下发生数据会出现发送一次数据后无法重复发送数据 返回值也没有问题 查询得知 QByteArray SendBytes
  • 什么是节点光端机?总线型光端机有哪些优势?

    节点式光端机又称总线型光端机 其准确的定义是采用单 双纤链路式组网形式的图像传输系统 也被称为链路式光端机 那么 节点式光端机具体是什么呢 总线型光端机又有哪些优势呢 接下来我们就跟随飞畅科技的小编一起来详细了解下吧 什么是节点光端机 节点
  • LInux下串口编程详解细节

    LInux下串口设置详解 日期 2011 04 01 来源 Linux社区 作者 huang879135 字体 大 中 小 串口的设置主要是设置struct termios结构体的各个成员值 include
  • 奇偶校验位

    在串行通信中 奇偶校验位通常是由UART这样的接口硬件生成 校验的 在接收方 通过接口硬件中的寄存器的状态位传给 CPU 以及操作系统 错误数据的恢复通常是通过重新发送数据 这个过程通常由如操作系统输入输出程序这样的软件处理的
  • Java串口通信-JSerialComm

    Java串口通信 JSerialComm 目前网上的Java串口通信主要使用RXTXComm 但是这个库已经很久没有更新 最近的更新似乎在2012年 并且与JavaFX集成打包时会出现BUG JSerialComm是一个较新的串口通信库 其
  • Python2.7网络通信socket和串口通信serial多线程同时实现

    Python2 7下多线程网络通信socket和串口通信serial同时进行 最近在写网络通信TCP IP读取数据和串口通信读取发送数据 之前写了单线程的然后这次尝试多线程实现 当然我是写的网络通信的服务端 话不多说贴上代码 coding
  • OUT指令时,就进入了I/O端口读写周期

    1 译码电路的输入信号 每当CPU执行IN或者OUT指令时 就进入了I O端口读写周期 此时首先是端口地址有效 然后是I O读写控制信号 IOR和 IOW有效 把对端口地址译码而产生的译码信号同 IOR和 IOW结合起来一同控制对I O端口
  • 使用ROS通过串口获取遥控器信号(二)

    使用ROS通过串口获取遥控器信号 二 十 编写串口通信节点 sudo gedit catkin ws src uart communication src commu cpp 加入以下代码 根据实际情况修改自己的代码 注意serial的AP
  • 串口通信——接收串口数据并处理(C语言)

    本文主要内容包含 1 接收串口数据程序的编程逻辑示意图 2 接收串口数据程序要用到的通用函数模块 可直接引用 无需更改 3 接收串口数据程序的示例 1 接收串口数据程序的编程逻辑示意图 2 与串口有关的函数模块及数组 可直接引用到自己的程序
  • 51单片机的串口通迅

    通信的基本方式分为并行通信和串行通信 并行通信 数据的各位同时在多根数据线上发送或接收 特点 控制简单 传输速度快 由于输线较多 长距离传送时成本高且接收方的各位同时接收存在困难 串行通信 使用一条数据线 将数据一位一位的依次传输 每一位数

随机推荐

  • IDEA+Maven 打jar包

    IDEA Maven 打jar包 包涵依赖jar 最新修改 以前写的打包方式可能看起来有些繁琐 这里给出进一步简洁的解决方案简单粗暴 写在前面 这两天一直在整 gu 理 dao IDEA 用Maven打jar包 网上的教程是各式各样 但是都
  • Chapter 2 Trajectory Indexing and Retrival

    This 26 pages paper is a bit short as a survey but a little too long for me the first day to write a papaer analysis But
  • 什么是Progressive Web App(PWA)?它们有哪些特点?

    聚沙成塔 每天进步一点点 专栏简介 渐进式Web App简介 PWAs的主要特点 总结 写在最后 专栏简介 前端入门之旅 探索Web开发的奇妙世界 欢迎来到前端入门之旅 感兴趣的可以订阅本专栏哦 这个专栏是为那些对Web开发感兴趣 刚刚踏入
  • 毕业设计-基于 BERT 的中文长文本分类系统

    目录 前言 课题背景和意义 实现技术思路 一 文本分类的相关技术 二 文本表示模型 三 文本分类模型 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力
  • ResNet的改进系列:ResNext和Res2Net

    ResNext paper https arxiv org abs 1611 05431 code https github com facebookresearch ResNeXt Res2Net paper https arxiv or
  • 关于HTTP的8种请求方法

    关于HTTP请求方法中的8种请求方法 简单介绍 HTTP是超文本传输协议 其定义了客户端与服务器端之间文本传输的规范 HTTP默认使用80端口 这个端口指的是服务端的端口 而客户端使用的端口是动态分配的 当我们没有指定端口访问时 浏览器会默
  • Quartus和ModelSim软件关联

    Quartus和ModelSim软件关联 QuartusII 18 1 和 ModelSim 10 5b 软件的关联 Altera 自身在仿真领域做的并不是很好 所以 Quartus 软件兼容 Mentor 公司的ModelSim 仿真软件
  • hutool实现excel的导出,包括级联下拉

    废话不多说 直接上代码 1 pom xml
  • 什么是 Web 3.0?

    很多人并不理解什么是 Web 3 0 本文尝试以最简洁的语言来解释一下我对于这个问题的理解 01 互联网范式迭代 Web 1 0 也就是第一代互联网 是静态互联网 主要的应用是网络媒体 各网媒雇佣一大批编辑 将图文并茂的内容发布成为网页 读
  • 无法启动程序 xxx.exe,系统找不到指定的文件

    1 问题现象 解绝方法 语法问题 scanf函数调用后边没写分号 导致没能编译生成可执行程序 2 问题现象 解绝方法 printf函数错写成print 导致语法错误 3 问题现象 解决方法 头文件写错了 找不到stdio h 注意 这几种问
  • JavaWeb 项目部署到 Aliyun 服务器

    JavaWeb 项目部署到 Aliyun 服务器 准备工作 环境 Java8 IDEA tomcat8 5 本次 web 项目在本地 tomcat 跑通 打包 项目没问题后进行打包 选择 Artifacts gt 点击 号 gt 右击选择
  • 【node】3、fs文件读写流

    fs createReadStream读取指定文件的可读流 const fs require fs const rs fs createReadStream 1 mp4 resume开启可读流 rs resume 通过rs readable
  • 《数据结构题集》求k阶斐波那契序列的第m项值的函数算法

    这个属于学习笔记一篇 刚看到这个题的时候 花了好半天时间 才搞明白题目到底是啥意思 原来我之前接触的斐波那契数列都是2阶的 有了思路之后就开始动手操作 经过我的验证 2阶的前14项的运算结果与百度百科上的一致 5阶前10项与我手动计算结果一
  • tp5下,保存公众号access_token

    在开发公众号的时候 免不了要用到公众号的接口 基于接口 它是需要access token做基础的 而access token它的有效期是有限定的 所以在获取到access token的时候要注意保存 1 在控制器中建一个方法 专门用来保存a
  • Mybatis中"if else"的写法

    在SSM框架中编写mapper xml的时候 需要对数据库进行操作 在对数据库操作的时候有时会遇到需要判断字段内容的情况 如果只需要判断字段满足某个条件 那么直接使用
  • 飞行棋游戏代码(C#)

    220224飞行器v1 0 using System namespace AeroplaneChess class Program 地图 static int Maps new int 100 玩家A B坐标 static int play
  • 良好的Java编程风格

    良好的Java编程风格 正确的注释和注释风格 使用文档注释来注释整个类或整个方法 如果注释方法中的某一个步骤 使用单行或多行注释 正确的缩进和空白 使用一次 tab 操作 实现缩进 运算符两边习惯性各加一个空格 比如 2 4 5 块的风格
  • Qt 关闭窗口时循环依旧运行的解决办法

    在Qt中 经常碰到关闭窗口之后 程序中的循环依旧运行 查资料知道跟线程和进程有关系 比较麻烦 以后再慢慢看线程和进程知识 今天想到一个比较偷懒的方法 具体方法如下 部分代码 1 在类中设立判断循环的标志 isLooopFlag 以及槽函数s
  • 学习笔记-正则表达式

    https www runoob com regexp regexp tutorial html 正则表达式re Regular Expression 是一种文本模式 包括普通字符 例如 a 到 z 之间的字母 和特殊字符 称为 元字符 可
  • CSerialPort教程4.3.x (1) - CSerialPort项目简介

    CSerialPort教程4 3 x 1 CSerialPort项目简介 前言 CSerialPort项目是一个基于C C 的轻量级开源跨平台串口类库 可以轻松实现跨平台多操作系统的串口读写 同时还支持C Java Python Node