当前位置:   article > 正文

CSerialPort教程(1) - CSerialPort项目简介

CSerialPort教程(1) - CSerialPort项目简介

CSerialPort教程(1) - CSerialPort项目简介


如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033

前言

CSerialPort项目是基于C++的轻量级开源跨平台串口类库,用于实现跨平台多操作系统的串口读写。

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

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

CSerialPort项目地址:

  • https://github.com/itas109/CSerialPort
  • https://gitee.com/itas109/CSerialPort

1. CSerialPort设计原则

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

2. CSerialPort平台支持

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

  • DOS ( x86_64 )
  • Windows ( x86_64 )
  • Linux ( x86_64, aarch64, mips64el, s390x, ppc64le )
  • macOS ( x86_64 )
  • Raspberry Pi ( armv7l )
  • FreeBSD ( x86_64 )

3. CSerialPort快速开始

3.1 获取源码

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

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

3.2 编译源代码

$ git clone https://github.com/itas109/CSerialPort
$ cd CSerialPort
$ mkdir bin && cd bin
$ cmake ..
$ cmake --build .
  • 1
  • 2
  • 3
  • 4
  • 5

3.3 运行测试程序

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

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

CSerialPort/bin $ ./bin/CSerialPortDemoNoGui
Version : https://github.com/itas109/CSerialPort - V4.1.1.210903

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

Please input index of the port(0 - 2 ) :
0
select port name : /dev/ttyS0
open /dev/ttyS0 success
receive data : i, receive size : 1, receive count : 1
receive data : t, receive size : 1, receive count : 2
receive data : a, receive size : 1, receive count : 3
receive data : s, receive size : 1, receive count : 4
receive data : 1, receive size : 1, receive count : 5
receive data : 0, receive size : 1, receive count : 6
receive data : 9, receive size : 1, receive count : 7
receive data : i, receive size : 1, receive count : 8
close serial port when receive count > 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

3.4 其他示例代码

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

examples # example 示例目录
    |-- CommMFC # CSerialPort MFC Demo use source code win32直接调用源码MFC程序示例
    |-- CommDLL # CSerialPort MFC Demo use Win32 Dll 
    |-- CommNoGui # CSerialPort No Gui Demo 无界面程序示例
    |-- CommQT # CSerialPort QT Demo QT程序示例
    |-- CommTui # CSerialPort tui Demo 文本界面程序示例
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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: 署名-非商业使用-禁止演绎

如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033


Reference:

  1. https://github.com/itas109/CSerialPort
  2. https://gitee.com/itas109/CSerialPort
  3. https://blog.csdn.net/itas109
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/539054
推荐阅读
相关标签
  

闽ICP备14008679号