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项目地址:
- https://github.com/itas109/CSerialPort
- https://gitee.com/itas109/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:
- https://github.com/itas109/CSerialPort