Files
2026-06-08 17:52:48 +08:00

2.3 KiB
Raw Permalink Blame History

Changingtek 伺服步进控制器 C++ SDK

基于 Modbus RTU 协议的伺服步进电机控制 SDK (C++ 版本)。 本 SDK 采用跨平台设计,一套代码可同时支持 WindowsLinux (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,或在命令行中执行:
    compile_and_run.bat
    

2. Linux 环境 (Ubuntu / ARM 架构)

前提条件: 系统已安装 g++make 工具。

操作步骤:

  1. 编译: 打开终端进入项目目录,执行 make 命令:

    cd /path/to/changingtek_p_rtu_Servo_cpp_version
    make
    

    编译成功后会生成可执行文件 example_servo

  2. 配置权限与端口:

    • 确认设备端口:通常为 /dev/ttyUSB0 (USB转串口) 或 /dev/ttyTHS1 (嵌入式板载串口)。
    • 如果端口不是默认的 /dev/ttyUSB0,请修改 main.cpp 第 20 行:
      port = "/dev/ttyTHS1"; // 示例:修改为实际端口
      
      修改后需要重新运行 make
    • 授予串口读写权限 (如遇到 Permission denied 错误)
      sudo chmod 666 /dev/ttyUSB0
      
  3. 运行:

    ./example_servo
    
  4. 清理: 删除编译生成的文件:

    make clean
    

功能特性

  • 跨平台兼容: 自动识别操作系统 (_WIN32 宏),底层分别调用 Windows API 和 Linux 系统调用 (termios),无需修改代码即可移植。
  • 通信优化: 针对伺服控制优化,使用 Modbus 0x10 功能码实现多寄存器同步写入 (位置/速度/力矩/加减速),显著降低通信延迟。
  • 线程安全: 内部集成互斥锁 (std::mutex),支持在主线程控制运动的同时,后台线程实时读取电机状态。