init
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# Changingtek 伺服步进控制器 C++ SDK
|
||||
|
||||
基于 Modbus RTU 协议的伺服步进电机控制 SDK (C++ 版本)。
|
||||
本 SDK 采用跨平台设计,一套代码可同时支持 **Windows** 和 **Linux (x86/ARM)** 系统。
|
||||
|
||||
## 目录结构
|
||||
|
||||
- `Changingtek_p_rtu_Servo.h`: SDK 头文件 (核心接口)
|
||||
- `Changingtek_p_rtu_Servo.cpp`: SDK 实现文件 (Modbus RTU 通信逻辑)
|
||||
- `main.cpp`: 主程序 (包含 5 次循环控制演示)
|
||||
- `compile_and_run.bat`: Windows 编译运行脚本 (MSVC)
|
||||
- `Makefile`: Linux 编译脚本
|
||||
|
||||
## 编译与运行指南
|
||||
|
||||
### 1. Windows 环境
|
||||
|
||||
**前提条件**: 安装 Visual Studio (支持 C++ 开发)。
|
||||
|
||||
**操作步骤**:
|
||||
1. 确保 USB 转串口模块已插入,并确认端口号 (例如 `COM3`)。
|
||||
2. 如需修改端口,编辑 `main.cpp` 中的 `port` 变量。
|
||||
3. 双击运行 `compile_and_run.bat`,或在命令行中执行:
|
||||
```cmd
|
||||
compile_and_run.bat
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2. Linux 环境 (Ubuntu / ARM 架构)
|
||||
|
||||
**前提条件**: 系统已安装 `g++` 和 `make` 工具。
|
||||
|
||||
**操作步骤**:
|
||||
|
||||
1. **编译**:
|
||||
打开终端进入项目目录,执行 `make` 命令:
|
||||
```bash
|
||||
cd /path/to/changingtek_p_rtu_Servo_cpp_version
|
||||
make
|
||||
```
|
||||
编译成功后会生成可执行文件 `example_servo`。
|
||||
|
||||
2. **配置权限与端口**:
|
||||
* 确认设备端口:通常为 `/dev/ttyUSB0` (USB转串口) 或 `/dev/ttyTHS1` (嵌入式板载串口)。
|
||||
* 如果端口不是默认的 `/dev/ttyUSB0`,请修改 `main.cpp` 第 20 行:
|
||||
```cpp
|
||||
port = "/dev/ttyTHS1"; // 示例:修改为实际端口
|
||||
```
|
||||
修改后需要重新运行 `make`。
|
||||
* 授予串口读写权限 (如遇到 Permission denied 错误):
|
||||
```bash
|
||||
sudo chmod 666 /dev/ttyUSB0
|
||||
```
|
||||
|
||||
3. **运行**:
|
||||
```bash
|
||||
./example_servo
|
||||
```
|
||||
|
||||
4. **清理**:
|
||||
删除编译生成的文件:
|
||||
```bash
|
||||
make clean
|
||||
```
|
||||
|
||||
## 功能特性
|
||||
|
||||
- **跨平台兼容**: 自动识别操作系统 (`_WIN32` 宏),底层分别调用 Windows API 和 Linux 系统调用 (termios),无需修改代码即可移植。
|
||||
- **通信优化**: 针对伺服控制优化,使用 Modbus 0x10 功能码实现多寄存器同步写入 (位置/速度/力矩/加减速),显著降低通信延迟。
|
||||
- **线程安全**: 内部集成互斥锁 (`std::mutex`),支持在主线程控制运动的同时,后台线程实时读取电机状态。
|
||||
Reference in New Issue
Block a user