自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

常驻客栈的博客--嵌入式EtherCAT

常驻客栈的博客--嵌入式EtherCAT

  • 博客(320)
  • 资源 (42)
  • 问答 (1)
  • 收藏
  • 关注

原创 C-重构:改善既有代码的设计之第4章 构筑测试体系

重构依赖测试,因为测试让“只改结构、不改行为”变成可持续检查的承诺。自动化还不够,测试必须足够快、频繁运行,并在错误出现时给出清楚反馈。新测试要证明自己会失败;测试之间要使用独立夹具,避免顺序依赖。测试选择应由行为与风险驱动,重点关注复杂计算、最近修改和边界条件。缺陷修复要形成“失败复现 -> 修复 -> 全绿 -> 永久回归测试”的闭环。覆盖率只能帮助找盲区,测试集真正追求的是对重要缺陷能够被发现的合理信心。tip] 30 秒复述挑战。

2026-09-01 21:54:16 244

原创 EtherCAT主站SOEM -- 56 -- SOEM2.0之ec_foe.h/c文件传输与固件升级解析

ec_foe.c/h用三个 API 封装了完整的 FoE 文件读写状态机。工程难点集中在文件名和密码、缓冲区容量、包号、BUSY 重发、短包 EOF,以及升级后的校验与恢复。FoE 传输成功只是升级流程的一步,不是最终成功条件。

2026-09-01 21:53:37 435

原创 C-重构:改善既有代码的设计之第3章 代码的坏味道

坏味道是“维护摩擦的信号”,不是可以机械执行的违规清单。识别时先看变化方向,再看理解成本、对象边界和测试能力。重构手法要服务于具体问题:提炼、搬移、封装、引入对象、多态和删除抽象都只是工具。纯数据类、循环、switch、中间人和注释都有合理场景,不能脱离语义一律消除。没有测试时,应先建立可观察基线,再用小步重构降低风险;第 4 章会进一步展开测试体系。tip] 30 秒复述挑战代码坏味道不是“代码不能运行”,而是“未来变化会变贵”。

2026-08-30 10:54:54 366

原创 C-重构:改善既有代码的设计之第 2 章:重构的原则

进度: 已完成本章整理难度:⭐⭐⭐⭐ 预计阅读:35 分钟 预计理解与练习:70 分钟重构的原则定义保持可观察行为小步调整结构随时可停价值改进设计更易理解帮助找 bug提高开发速度时机预备性重构帮助理解捡垃圾式重构见机行事少量有计划重构挑战代码所有权分支与集成测试覆盖遗留代码数据库迁移协同实践自测试代码持续集成YAGNI性能与工具先度量再优化语法树重构静态类型语言服务器这张图从中心向外读:先确认重构的边界,再理解它解决的经济问题;接着选择合适时机,最后用测试、集成和工具把风险控制住。性能和自动化工具是重要

2026-08-30 10:54:22 319

原创 C-重构:改善既有代码的设计之第1章:重构,第一个示例

重构的出发点不是“代码不够漂亮”,而是“下一次修改已经被当前结构拖慢”。测试让重构敢于前进,小步和反馈让错误容易被发现。提炼函数不是搬家,而是把脑中的“这段代码在做什么”变成代码中的命名边界。先把业务事实算成一份稳定数据,再让不同格式各自渲染,是隔离变化的关键一步。多态不是为了炫技,而是把反复出现的“按类型选择规则”收拢到更稳定的结构里。重构的价值来自未来的理解和修改需求;没有变化压力时,不必为了美观强行改动。测试必须能自我检验,重构过程保持“构建、测试、提交”的短循环。

2026-08-30 10:52:38 357

原创 B-深入理解计算机系统第3版之第12章:并发编程

abstract] 📌 一句话卡片|并发与并行并发解决“多件事别互相堵住”,并行解决“多核能不能一起干活”;两者都不是免费午餐。abstract] 📌 一句话卡片|事件驱动I/O 多路复用不是让 I/O 自动完成,而是让程序只在“现在确实能推进”的描述符上做事。abstract] 📌 一句话卡片|线程与竞争线程让数据共享变得很便宜;但共享变量是否正确,取决于所有可能的交错顺序,而不是某次运行的顺序。abstract] 📌 一句话卡片|信号量。

2026-08-30 10:51:59 370

原创 B-深入理解计算机系统第3版之第11章:网络编程

note] 阅读范围与边界本笔记依据本地附件《深入理解计算机系统(原书第3版)》第 11 章整理,用自己的话讲解。原书的代码和讨论以 Linux、C、Unix I/O、TCP/IP 套接字接口及 IPv4 示例为背景;TINY 是教学用的小型服务器,不是可直接上线的生产服务器。遇到现代网络与书中示例的差异,会明确标为“补充解释”。tip] 一句话抓住本章。

2026-08-29 15:29:45 376

原创 B-深入理解计算机系统第3版之第10章:系统级 I/O

abstract] 📌 一句话卡片|文件描述符文件描述符是进程访问已打开文件或设备的本地编号;它不是文件本身,却是一切 Unix I/O 操作的入口。abstract] 📌 一句话卡片|打开文件路径负责定位,open负责建立一次访问,close负责结束访问;创建文件时的最终权限还要经过umask。abstract] 📌 一句话卡片|短计数I/O 的返回值是事实回执:请求 n 字节不等于得到 n 字节;EOF、短计数和错误必须分开处理。abstract] 📌 一句话卡片|RIO。

2026-08-29 15:29:14 359

原创 B-深入理解计算机系统第3版之第9章:虚拟内存

note]虚拟内存不是“凭空变出内存”,而是把有限的真实资源组织成对程序更好用、更安全的地址空间。note]页表负责“记账”,局部性负责“让账本上的大多数常用页恰好都在主存里”。note]VA 到 PA 的关键动作是“VPN 找 PPN,VPO 原样带走”;TLB 只是把常用的这条对应关系提前放到更近的地方。note]内存映射负责“先把虚拟区域和对象挂上钩”,写时复制负责“没改先共用,真改才分家”。note]

2026-08-27 19:40:35 422

原创 B-深入理解计算机系统第3版之第8章:异常控制流

把 ECF 看成“系统级控制流改道”,就能把异常、进程、信号和错误恢复放进同一张地图。异常表解决“该找谁”,异常类别决定“处理后回哪里”;这两件事合起来,才让系统能精确地打断并恢复控制流。进程用上下文切换复用 CPU,用私有地址空间隔离内存;“独占”是给程序的抽象,不是机器此刻只运行它的事实。返回值决定“有没有成功”,errno 帮你解释“为什么没成功”;先检查,才谈后续逻辑。fork 负责生出执行者,execve 负责换成目标程序,waitpid 负责把结束的孩子收回来;把三者混淆,进程控制就会处处出错。

2026-08-27 19:34:43 451

原创 B-深入理解计算机系统第3版之第7章:链接

abstract] 📌 一句话卡片|链接写代码时你使用的是名字;链接时系统把名字接到定义,再把地址补进机器码。m 定义、其他模块可以引用的全局符号:通常是不带 static 的全局变量和函数。m 引用、由其他模块定义的外部符号:例如 main.o 里对 sum 的调用。只在 m 内定义和引用的局部链接器符号:通常是带 static 的全局变量和函数。这里的“局部符号”容易误会:普通函数局部变量通常由运行时栈管理,不会在 .symtab 中拥有链接器符号。

2026-08-25 19:49:32 328

原创 B-深入理解计算机系统第3版之第6章:存储器层次结构

abstract] 📌 一句话卡片|存储设备不同存储技术不是互斥选项;系统用少量快而贵的设备,去加速大量慢而便宜的数据。abstract] 📌 一句话卡片|局部性要想让缓存帮你,反复用已拿到的数据,并按内存中的连续顺序使用邻居数据。abstract] 📌 一句话卡片|缓存层次缓存不是一层神秘小内存,而是一条通用规则:上层保存下层对象的少量副本,并按块处理命中、未命中与替换。abstract] 📌 一句话卡片|高速缓存寻址。

2026-08-25 19:48:05 419

原创 B-深入理解计算机系统第3版之第5章:优化程序性能

abstract] 📌 一句话卡片|编译器安全边界编译器不是不知道合并、外提和缓存值更快;它必须先证明这些改动不会被别名和副作用打破。abstract] 📌 一句话卡片|CPECPE 是看“大量元素重复处理”时的稳定节拍;它帮助比较循环,但不能代替真实基准和整体运行时间。abstract] 📌 一句话卡片|先减工作优化的第一层是删掉结果不需要的重复工作;外提、减少调用和局部累积通常比微调单条指令更可靠。abstract] 📌 一句话卡片|关键路径。

2026-08-24 21:25:08 352

原创 EtherCAT主站SOEM -- 55 -- SOEM2.0之ec_eoe.h/c以太网透传与分片重组解析

特别注意 PS:关于源代码说明一下,如果你订阅 我这个专栏 EtherCAT主站SOEM ,可以按照这篇博客配置主站,EtherCAT主站SOEM – 9 – SOEM之基于QT搭建自己的EtherCAT主站 ,只要跟从站能到OP状态,就能使用我的博客里面提供 控制IO模块和电机源代码,从相关博客里面复制代码 ,需要修改一下向自己的工程靠,确保编译通过。 EtherCAT主站SOEM – 13 --Qt-Soem通过界面按键控制 EtherCAT IO模块的io输出 。如果你觉得麻烦或者繁琐,可以直

2026-08-24 21:24:12 1367

原创 B-深入理解计算机系统第3版之第4章:处理器体系结构

一句话抓住本章ISA 对程序承诺“指令好像按顺序一条条完成”,但真正的处理器会让多条指令同时处在不同阶段;处理器设计的核心难题,就是在提高吞吐量的同时,靠转发、暂停、气泡、预测和异常控制,让外部结果仍然像顺序执行一样正确。

2026-08-23 10:50:35 300

原创 B-深入理解计算机系统第3版之第3章:程序的机器级表示

C 代码不会被 CPU 直接“看懂”。编译器会把它翻译成一串极小的机器指令:它们只会读写寄存器和内存、做简单运算、改变下一条指令的位置;而条件语句、循环、函数、数组、结构体和安全问题,都是由这些小动作拼出来的。

2026-08-23 10:49:20 195

原创 B-深入理解计算机系统第3版之第2章:信息的表示和处理

计算机里的一切——数字、文字、代码——归根结底都是"0 和 1 的排列"。本章教你三种最重要的排列规则:无符号整数(只能表示非负数)、补码(能表示负数,C 语言的 int 就是它)、IEEE 754 浮点数(近似表示实数,C 语言的 float 和 double 就是它),以及当你用有限位数做算术时会发生什么诡异后果(比如正数加正数居然变成负数)。

2026-08-22 18:29:45 243

原创 B-深入理解计算机系统第3版之第1章:计算机系统漫游

一句话抓住本章一个看似简单的 hello 程序,从文本到屏幕输出,背后要让“位、编译器、CPU、存储器、操作系统、网络”这整套软硬件协同接力。

2026-08-22 18:28:40 259

原创 A-程序员的自我修养:链接、装载与库之第 13 章:运行库实现

main、malloc、printf 和 C++ 的 new 并不是凭空出现的:Mini CRT 把“程序怎么启动、怎么拿内存、怎么读写、怎么退出”这些基础设施亲手做了一遍。

2026-08-21 21:43:47 214

原创 A-程序员的自我修养:链接、装载与库之第 12 章:系统调用与 API

普通程序不能直接碰硬件和内核资源;它要先使用 API(给程序员调用的接口),必要时再通过系统调用进入内核,请操作系统代为完成受保护的事。

2026-08-21 21:42:20 252

原创 EtherCAT主站SOEM -- 54 -- SOEM2.0之ec_dc.h/c分布式时钟与SYNC同步解析

ec_dc.c负责配置 EtherCAT Distributed Clocks:识别 DC 从站、建立 DC 链表、锁存各端口接收时间、计算拓扑传播延迟、校正本地系统时间,并配置从站的 SYNC0/SYNC1 周期输出。它提供的是 DC 基础配置,不包含应用侧 PI 控制器或周期线程调度。

2026-08-20 07:41:15 420

原创 A-程序员的自我修养:链接、装载与库之第 11 章:运行库

程序的真实生命周期是“入口初始化 →main→ 退出清理”,main只是中间阶段。CRT 把 C/C++ 语言能力适配到具体操作系统,标准库只是其中一部分。多线程安全依赖两个方向:共享状态加锁,线程私有状态使用 TLS;跨 CRT 模块传递资源还要遵守所有权边界。C++ 全局构造/析构依赖编译器生成函数、链接器特殊段和运行库遍历/退出回调。fread的核心优化是“先查缓冲,必要时才触发平台读取”,并在 Windows 文本模式下处理换行转换。

2026-08-20 07:39:18 289

原创 EtherCAT主站SOEM -- 53 -- SOEM2.0之ec_coe.h/c的CoE、SDO与PDO对象字典解析

CoE(CAN application protocol over EtherCAT)把 CANopen 的对象字典和 PDO 服务放进 EtherCAT 邮箱。ec_coe.c实现阻塞式 SDO 上传/下载、邮箱 PDO、PDO 映射读取和对象字典信息读取,是 SOEM 配置参数、分析对象字典和建立 IOmap 的核心模块————————————————版权声明:本文为优快云博主「常驻客栈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://

2026-08-19 21:32:14 427

原创 A-程序员的自我修养:链接、装载与库之第 10 章:内存

程序运行时并不是“直接在内存里随便放东西”:操作系统先给进程一张虚拟地址空间地图,函数调用主要借助栈,动态数据主要来自堆,而运行库负责把大块内存切成程序能使用的小块。

2026-08-19 21:29:56 274

原创 A-程序员的自我修养:链接、装载与库之第 9 章:Windows 下的动态链接

DLL 是 Windows 用来复用和组合程序功能的模块包;本章要回答:程序怎样找到 DLL 的函数、地址冲突时怎样装入,以及 DLL 升级为什么会把旧程序带崩。

2026-08-18 21:01:38 324

原创 A-程序员的自我修养:链接、装载与库之第8章:Linux 共享库的组织

一句话抓住本章Linux 共享库不是“放一个 .so 文件就结束了”:它还要靠版本规则、SO-NAME、符号链接、缓存、查找路径和符号版本,让旧程序尽量加载到兼容的库。

2026-08-18 21:00:47 398

原创 A-程序员的自我修养:链接、装载与库之第7章:动态链接

动态链接的动机是减少重复副本、降低更新发布成本,并使插件化成为可能。PIC 让共享代码不必依赖固定装载地址,GOT 保存会变化的真实地址。PLT 把外部函数调用接入延迟绑定:首次解析并回填,后续直接跳转。.interp、.dynamic、动态符号表、重定位表与初始栈信息共同为动态链接器提供资料。自动动态链接发生在程序开始前;显式运行时链接让程序按需装入模块。tip] 30 秒复述挑战不用缩写,解释:为什么共享库不能假设固定地址?

2026-08-17 21:14:31 378

原创 EtherCAT主站SOEM -- 52 -- SOEM2.0之ec_config.h/c从站扫描与PDO映射解析

`ec_config.c/h`完成了从“总线上有几个从站”到“应用可以安全读写 IOmap”的转换。它的关键不是某一个 API,而是自动递增地址、配置地址、SII/CoE/SoE 映射、SM/FMMU 写入、逻辑地址分段和状态转换之间的顺序关系。后续阅读 `ec_coe.c/h`时,应把这里生成的 `configadr`、SM 和 IOmap 作为前置背景。

2026-08-17 21:09:28 666

原创 A-程序员的自我修养:链接、装载与库之第6章:可执行文件的装载与进程

装载的核心是建立映射。文件内容、虚拟地址和物理页面之间有不同层次的关系。缺页往往是正常的按需装入机制。它只在地址合法但页面尚未驻留时成立。程序、进程、虚拟地址空间不能混为一谈。进程是操作系统为程序准备好的动态运行环境。ELF 的链接视图和执行视图解决不同问题。链接看 Section,装载看 Segment,内核用 VMA 管理进程区域。启动过程不止一个main。内核、动态链接器(若有)、运行库与初始栈共同把控制权交给应用逻辑。

2026-08-16 18:16:38 277

原创 A-程序员的自我修养:链接、装载与库之第5章:Windows PE/COFF

COFF 与 PE 是同一条演化链上的不同角色:前者更靠近编译/链接,后者更靠近装载/运行。看 COFF 的稳定顺序是:文件头 → 段表 → 段内容 → 符号/调试信息。.drectve 是链接提示,.debug 段是调试辅助;两者都不是普通业务代码段。PE 在 COFF 基础上增加了 DOS 兼容结构、NT Headers、Optional Header 和 DataDirectory。DataDirectory 只负责指出常用表的位置与大小;它不是导入表、导出表等表本身。

2026-08-16 18:14:51 267

原创 A-程序员的自我修养之第4章 静态链接

先布局和分配地址,再解析符号并重定位。一个符号的最终地址来自输出节起点、输入节位置和节内偏移;它不是源代码阶段就固定的。符号解析只负责“谁提供定义”,重定位负责“在机器码或数据中写入哪个数值”。.bss的“没有文件内容”不等于“运行时不占地址空间”。静态库按需提供目标文件成员,链接顺序和成员粒度会影响结果。C/C++ 语言特性会影响符号和目标文件;链接脚本则能直接控制最终布局。

2026-08-15 22:12:51 250

原创 A-程序员的自我修养之第3章 编译和链接:从源代码到可执行文件目标文件里有什么

目标文件不是一团不可读的字节;它有按用途划分的节,也有描述这些节的结构化表。.text.data.bss.rodata的核心差别在于“内容类型、初值是否需落盘、运行时权限和共享可能性”。ELF 文件头和节表构成目录系统;字符串表解决不定长名字的保存问题。符号表负责跨模块“认名字”,重定位表负责“修补引用位置”;这正是独立编译能成立的关键。工具输出是证据,书中示例与本机输出不同时,应先检查架构和编译选项,而不是先怀疑概念。多个目标文件中的同名节和符号,链接器如何合并与分配地址?

2026-08-15 22:08:27 372

原创 EtherCAT主站SOEM -- 51 -- SOEM2.0之ec_main.h/c主站上下文与运行主线解析

`ec_main.c/h`把 SOEM 2.0 的“主站运行时对象”组织在一个显式 context 中:错误栈负责把异常带回应用,EEPROM 缓存负责支撑扫描和配置,邮箱池负责协议事务所有权,idx 栈负责把非阻塞过程数据重新组合。理解这四条路径后,再阅读 `ec_config.c`、`ec_coe.c`和各 XoE 文件会更容易判断数据究竟来自哪个层。

2026-08-15 22:04:12 713

原创 EtherCAT主站SOEM -- 49 -- SOEM 1.4升级到2.0:新特性、41项修复与迁移指南

本文介绍了SOEM从1.4版本升级到2.0版本的主要变化,包括41项修复、新特性及迁移指南。升级涉及许可证变更(GPLv2转GPLv3)、API重构(全局函数改为显式上下文)、数据结构调整(不兼容ABI)、构建系统更新(CMake最低版本要求)等核心改动。文章提供了详细的迁移对照表,并强调升级需全面验证PDO、WKC、DC等功能,而非仅测试基础通信。此外,还汇总了QT-SOEM开发相关的视频教程和源代码资源链接,涵盖IO控制、电机PV/PP模式等实用案例。

2026-08-14 22:20:32 313

原创 EtherCAT主站SOEM -- 50 -- SOEM2.0之ec_base.h/c数据报组帧与收发原语解析

这篇文章介绍了EtherCAT主站SOEM中ec_base.h/c文件的功能解析,主要内容包括: 提供了QT-SOEM相关视频演示和源代码下载链接,展示SOEM文件解析、Qt-SOEM移植验证、IO模块控制、数据采集和电机控制等功能。 重点解析了ec_base.c文件中的两个核心函数: ecx_writedatagramdata():负责向EtherCAT数据报写入数据,根据命令类型初始化或复制数据 ecx_setupdatagram():生成并设置标准以太网帧中的EtherCAT数据报,处理以太网头和Et

2026-08-14 22:12:14 194

原创 A-程序员的自我修养之第2章 编译和链接:从源代码到可执行文件

fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;链接器add.omain.o定义 main引用 add定义 add扫描符号表把引用 add 绑定到定义 add修正调用地址app 可执行文件链接器不是按文件名猜,而是靠目标文件里的符号表和重定位信息,把“我需要谁”和“谁定义了它”配对。链接器就会把main.o中对add。

2026-07-11 17:16:31 405 1

原创 A-程序员的自我修养之第1章 温故而知新:计算机、操作系统、内存与线程

第1章 计算机系统基础概念 摘要 本章介绍了计算机系统运行的基本概念和关键组件,包括CPU、内存和I/O设备三大核心资源,以及操作系统如何管理和抽象这些资源。重点讲解了进程、虚拟内存和线程这三个关键概念: 计算机系统分层架构:应用程序通过运行库和系统API与操作系统交互,操作系统再管理底层硬件资源(CPU、内存、I/O设备)。 操作系统核心功能: CPU管理:通过进程调度实现多任务并行 内存管理:采用虚拟地址空间实现隔离和共享 I/O管理:提供统一的设备访问接口 虚拟内存机制:通过页表将进程虚拟地址映射到物

2026-07-04 15:29:55 580

原创 A-程序员的自我修养:链接、装载与库 之0-小白导读

《程序员的自我修养:链接、装载与库》是一本揭示程序如何从源代码转变为可执行文件并运行的底层原理书籍。文章为初学者提供了高效阅读指南:首先抓住三条主线——编译、链接、装载与运行的核心流程;其次理解关键术语如目标文件、符号、静态/动态链接等;最后建议分三轮学习:先建立全局认知,再深入链接机制,最后补足运行时和库的知识。书中详细解析了目标文件结构、静态/动态链接原理、可执行文件装载过程及运行库的工作机制,通过清晰的流程图帮助读者构建完整知识框架。适合采用"总-分-总"的学习方法,避免陷入细节而迷失方向。

2026-07-04 14:41:17 276

原创 EtherCAT主站SOEM -- 47-- win-soem-win10及win11系统QT-SOEM-EtherCAT主站1个电机转圈圈-位置模式(PP模式)相对位置和绝对位置

本文介绍在Windows 10/11系统上使用QT和SOEM库搭建EtherCAT主站,实现对单个电机的PP模式(位置模式)控制,包括相对位置和绝对位置运动。提供了详细的视频演示和源代码下载链接,涵盖不同控制模式(PV、PP、PT、CSV、CSP等)的实现方法。同时分享了基于STM32F767的开发板实现方案,包含按键控制电机使能、正反转等功能。所有项目源代码已调整优化,可直接替换使用,适用于快速开发和测试EtherCAT从站设备控制。

2025-11-16 10:58:16 386

原创 EtherCAT主站IGH-- 44 -- IGH之slave_config.h/c文件解析

EtherCAT主站IGH的slave_config.h/c文件解析摘要: 该文件实现了EtherCAT从站设备的配置功能,主要包括: 初始化与清理从站配置(ec_slave_config_init/clear) 同步管理器配置(sync_manager) PDO映射配置(PDO分配与映射) SDO请求处理(配置SDO) FoE/VoE请求处理 FMMU准备与配置 核心函数包括初始化配置、同步管理器设置、PDO映射加载、SDO请求处理等,用于建立主站与从站之间的通信配置。文件通过结构体管理从站参数,并提供配

2025-08-31 17:32:22 322

win-soem-win10及11系统QT-SOEM-1个电机转圈圈-周期同步力矩模式(CST模式)-添加代码注释-优快云

硬件环境: windows10及windows11系统利用QT平台搭建EtherCAT主站(SOEM)。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 39 -- win-soem-win10及win11系统QT-SOEM-EtherCAT主站1个电机转圈圈-周期同步力矩模式(CST模式) 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 电机进行操作,通过周期同步力矩模式(CST模式)控制一个电机转圈圈,正转,反转及停止,及电机运行过程中停止。

2024-04-27

win-soem-win10及11系统QT-SOEM-1个电机转圈圈-周期同步位置模式(CSP模式)-添加代码注释-优快云

硬件环境: windows10及windows11系统利用QT平台搭建EtherCAT主站(SOEM)。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 38 -- win-soem-win10及win11系统QT-SOEM-EtherCAT主站1个电机转圈圈-周期同步位置模式(CSP模式) 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 电机进行操作,通过周期同步位置模式(CSP模式)控制一个电机转圈圈,正转,反转及停止,及电机运行过程中停止。

2024-04-27

win-soem-win10及win11系统QT-SOEM1个电机转圈圈-周期同步速度模式(CSV模式)-添加代码注释-优快云

硬件环境: windows10及windows11系统利用QT平台搭建EtherCAT主站(SOEM)。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 37 -- win-soem-win10及win11系统QT-SOEM-EtherCAT主站1个电机转圈圈-周期同步速度模式(CSV模式) 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 电机进行操作,通过周期同步速度模式(CSV模式) 控制一个电机转圈圈,正转,反转及停止,及电机运行过程中停止。

2024-04-27

win-soem-win10及win11系统QT-SOEM-1个电机转圈圈-力矩模式(PT模式)-添加代码注释-优快云.rar

硬件环境: windows10及windows11系统利用QT平台搭建EtherCAT主站(SOEM)。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 36 -- win-soem-win10及win11系统QT-SOEM-EtherCAT主站1个电机转圈圈-力矩模式(PT模式) 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 电机进行操作,通过力矩模式(PT模式)控制一个电机转圈圈,正转,反转及停止,及电机运行过程中停止。

2024-04-27

win-soem-win10及win11系统QT-SOEM-1个电机转圈圈-速度模式(PV模式)-添加代码注释-优快云.rar

硬件环境: windows10及windows11系统利用QT平台搭建EtherCAT主站(SOEM)。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 34 -- win-soem-win10及win11系统QT-SOEM-EtherCAT主站1个电机转圈圈-速度模式(PV模式) 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 电机进行操作,通过速度模式(PV模式) 控制一个电机转圈圈,正转,反转及停止,及电机运行过程中停止。

2024-04-27

win-soem-win10及win11系统QT-SOEM-1个电机转圈圈-位置模式(PP模式)-添加代码注释-优快云.rar

硬件环境: windows10及windows11系统利用QT平台搭建EtherCAT主站(SOEM)。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 35 -- win-soem-win10及win11系统QT-SOEM-EtherCAT主站1个电机转圈圈-位置模式(PP模式) 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 电机进行操作,通过位置模式(PP模式) 控制一个电机转圈圈,正转,反转及停止,及电机运行过程中停止。

2024-04-27

win-soem-win10及win11系统QT-SOEM1个IO模块输入IO显示及IO输出控制-添加代码注释-优快云.rar

硬件环境: windows10及windows11系统利用QT平台搭建EtherCAT主站(SOEM)。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 32-- win10及win11系统QT-SOEM-EtherCAT主站1个IO模块输入IO显示及IO输出控制 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,从站进入OP状态,Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 IO模块进行操作,通过1个IO模块输入IO显示及IO输出控制。

2024-04-27

判断一个数是否为素数.docx判断一个数是否为素数可以通过检查它是否只能被1和它本身整除来实现 以下是一个简单的 Python

判断一个数是否为素数 判断一个数是否为素数可以通过检查它是否只能被1和它本身整除来实现。以下是一个简单的 Python 函数来判断一个数是否为素数: ```python def is_prime(n): if n <= 1: return False if n <= 3: return True if n % 2 == 0 or n % 3 == 0: return False i = 5 while i * i <= n: if n % i == 0 or n % (i + 2) == 0: return False i += 6 return True # 测试 print(is_prime(17)) # True print(is_prime(20)) # False ``` 这个函数首先检查输入的数是否小于或等于1,因为素数定义为大于1的自然数。然后,它检查输入的数是否小于或等于3,因为2和3都是素数。接下来,它检查输

2024-04-17

中值滤波.docx 中值滤波是一种常用的图像处理技术,用于去除图像中的噪声 它的原理是对图像中的每个像素,以该像素为中心的一个

中值滤波 中值滤波是一种常用的图像处理技术,用于去除图像中的噪声。它的原理是对图像中的每个像素,以该像素为中心的一个窗口内的像素值进行排序,然后用窗口内排序后的中间值(即中值)来代替该像素的值。这种方法对于去除噪声效果很好,同时能够保持图像的边缘信息。 以下是一个简单的 Python 代码示例,使用了OpenCV库来实现中值滤波: ```python import cv2 # 读取图像 image = cv2.imread('input_image.jpg') # 使用中值滤波 median_filtered_image = cv2.medianBlur(image, 5) # 第二个参数为滤波器的大小,必须是奇数 # 显示原始图像和中值滤波后的图像 cv2.imshow('Original Image', image) cv2.imshow('Median Filtered Image', median_filtered_image) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在这个示例中,`cv2.medianBlur()`

2024-04-17

python爱心代码高级.docx

python爱心代码高级 一个高级的Python爱心代码可能包含一些特殊效果,比如使用绘图库创建一个动态的爱心图案,或者利用Unicode字符来生成一个炫酷的爱心图案。下面是一个示例代码,使用turtle库创建一个简单的动态爱心图案: ```python import turtle import time # 设置画布 canvas = turtle.Screen() canvas.bgcolor("black") # 设置画笔 pen = turtle.Turtle() pen.color("red") pen.shape("turtle") pen.speed(0) # 定义爱心函数 def draw_heart(): pen.fillcolor("red") pen.begin_fill() pen.left(140) pen.forward(224) for _ in range(200): pen.right(1) pen.forward(2) pen.left(120) for

2024-04-17

模拟退火算法.docx

模拟退火算法 模拟退火算法(Simulated Annealing)是一种启发式优化算法,常用于解决组合优化问题。它通过模拟固体退火过程中的温度变化来逐步降低系统能量,以在搜索空间中寻找全局最优解或近似最优解。 下面是一个简单的模拟退火算法的伪代码实现: ```python function simulated_annealing(problem, initial_solution, initial_temperature, cooling_rate, stopping_temperature): current_solution = initial_solution current_energy = problem.evaluate(current_solution) temperature = initial_temperature while temperature > stopping_temperature: # Generate a new solution by making a small change to th

2024-04-16

c语言文件读写操作代码常驻客栈qq.docx

c语言文件读写操作代码 下面是一个简单的C语言程序示例,演示如何进行文件读写操作: ```c #include <stdio.h> #include <stdlib.h> int main() { FILE *fp; // 文件指针 char ch; // 打开文件以写入数据 fp = fopen("example.txt", "w"); // 检查文件是否成功打开 if (fp == NULL) { printf("无法打开文件.\n"); exit(EXIT_FAILURE); } // 写入数据到文件 fprintf(fp, "这是一个测试文件。\n"); fputs("另一行数据。\n", fp); // 关闭文件 fclose(fp); // 打开文件以读取数据 fp = fopen("example.txt", "r"); // 检查文件是否成功打开 if (fp == NULL) {

2024-04-16

linux常用命令大全.docx

linux常用命令大全 Linux常用命令非常多,这里给你列举一些常见的: 1. **ls**: 列出目录内容 - 选项:-l(长格式)、-a(显示所有文件)、-h(人类可读格式) ``` ls -lha ``` 2. **cd**: 切换目录 ``` cd 目录名 ``` 3. **pwd**: 显示当前工作目录 ``` pwd ``` 4. **mkdir**: 创建目录 ``` mkdir 目录名 ``` 5. **rm**: 删除文件或目录 - 选项:-r(递归删除目录)、-f(强制删除) ``` rm -rf 目录名/文件名 ``` 6. **cp**: 复制文件或目录 - 选项:-r(递归复制目录)、-i(交互式复制,提示用户是否覆盖) ``` cp -r 源文件/目录 目标文件/目录 ``` 7. **mv**: 移动文件或目录 ``` mv 源文件/目录 目标文件/目录 ``` 8. **cat**: 查看文件

2024-04-16

水仙花数c语言程序.docx

水仙花数c语言程序 水仙花数(Narcissistic number)是指一个 n 位数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。 以下是一个简单的 C 语言程序,用于找到指定范围内的水仙花数: ```c #include <stdio.h> #include <math.h> // 函数用于计算一个数字的位数 int countDigits(int number) { int count = 0; while (number != 0) { number /= 10; count++; } return count; } // 函数用于判断一个数是否为水仙花数 int isNarcissistic(int number) { int originalNumber = number; int numDigits = countDigits(number); int sum = 0;

2024-04-15

vim命令.docxVim 是一款强大的文本编辑器,具有许多命令和功能 以下是一些常用的 Vim 命令: 1. **编辑文本*

vim命令 Vim 是一款强大的文本编辑器,具有许多命令和功能。以下是一些常用的 Vim 命令: 1. **编辑文本**: - `i` 进入插入模式,在当前光标位置之前插入文本。 - `a` 进入插入模式,在当前光标位置之后插入文本。 - `o` 在当前行的下方插入新行,并进入插入模式。 - `O` 在当前行的上方插入新行,并进入插入模式。 - `dd` 删除当前行。 - `yy` 复制当前行。 - `p` 粘贴剪贴板中的内容。 2. **移动光标**: - `h` 左移一个字符。 - `j` 下移一行。 - `k` 上移一行。 - `l` 右移一个字符。 - `w` 向前移动一个单词。 - `b` 向后移动一个单词。 - `0` 移动到行首。 - `$` 移动到行尾。 3. **保存和退出**: - `:w` 保存文件。 - `:q` 退出 Vim。 - `:q!` 强制退出 Vim,不保存修改。 - `:wq` 保存并退出。 4. **搜索和替换**: -

2024-04-15

混淆矩阵.docx混淆矩阵(Confusion Matrix)是在监督学习中用于评估分类算法性能的一种常见工具 它是一个 N×N

混淆矩阵 混淆矩阵(Confusion Matrix)是在监督学习中用于评估分类算法性能的一种常见工具。它是一个 N×N 的矩阵(其中 N 是类别的数量),其中矩阵的行代表真实的类别,列代表预测的类别。每个元素 (i, j) 表示真实类别为 i 但被预测为类别 j 的样本数量。 下面是一个示例混淆矩阵: ``` Predicted Class 0 Class 1 Class 2 -------------------------------- Class 0 | 50 5 0 Actual -------------------------------- Class 1 | 3 45 2 -------------------------------- Class 2 | 0 1 48 ``` 在这个例子中,假设有三个

2024-04-15

猜帽子游戏c.docx

猜帽子游戏c 猜帽子游戏是一个有趣的逻辑游戏,通常包含多个参与者和多个帽子。每个参与者都会被戴上一个帽子,但他们无法看到自己的帽子颜色,只能看到其他参与者的帽子颜色。游戏的目标是让参与者根据其他人的帽子颜色猜测自己的帽子颜色。以下是一个简单的C语言实现: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> #define NUM_PLAYERS 5 #define NUM_COLORS 3 // 定义帽子颜色的枚举 enum HatColor { RED, BLUE, GREEN }; // 生成随机的帽子颜色 void generateHatColors(enum HatColor hatColors[]) { for (int i = 0; i < NUM_PLAYERS; i++) { hatColors[i] = rand() % NUM_COLORS; } } // 输出帽子颜色 void printHatColors(enum HatCo

2024-04-14

c语言头文件.docx

c语言头文件 C语言中常用的头文件有很多,它们提供了各种函数和数据类型的声明,以及常用的宏定义。以下是一些常见的C语言头文件: 1. **stdio.h**:提供了标准输入输出函数,如printf、scanf等。 2. **stdlib.h**:包含了内存分配、随机数生成、各种类型转换函数等。 3. **math.h**:包含了数学函数,如sin、cos、sqrt等。 4. **string.h**:提供了字符串处理函数,如strcpy、strlen、strcat等。 5. **ctype.h**:包含了字符处理函数,如isalpha、isdigit等。 6. **stdbool.h**:定义了bool类型及其取值true和false。 7. **time.h**:提供了时间和日期相关函数,如time、localtime等。 8. **limits.h**:定义了各种数据类型的取值范围。 9. **assert.h**:提供了一个宏,用于调试时检查条件是否成立。 10. **errno.h**:定义了整数变量errno,用于表示发生错误时的错误码。 11. **ctype.h**:

2024-04-14

小球反弹问题c语言.docx

小球反弹问题c语言 小球反弹问题是一个经典的物理学问题,通常涉及到计算小球在一定高度上的反弹次数、反弹后的高度等。你可以用C语言来实现这个问题的计算。以下是一个简单的示例代码,用于计算小球在给定高度上的反弹次数及反弹后的高度: ```c #include <stdio.h> int main() { double initial_height, coefficient; int num_bounces = 0; // 输入初始高度和反弹系数 printf("请输入小球的初始高度(米)和反弹系数:\n"); scanf("%lf %lf", &initial_height, &coefficient); // 确保反弹系数在有效范围内 if (coefficient >= 0 && coefficient < 1) { // 反弹,直到高度小于0.01米 while (initial_height >= 0.01) { initial_height *

2024-04-14

位运算C语言.docx

位运算 好的,以下是一些使用C语言实现常见位运算操作的代码示例: ```c #include <stdio.h> int main() { unsigned int num1 = 10; // 二进制表示为 1010 unsigned int num2 = 6; // 二进制表示为 0110 // 按位与(&) unsigned int result_and = num1 & num2; printf("按位与结果:%u\n", result_and); // 输出 2,二进制表示为 0010 // 按位或(|) unsigned int result_or = num1 | num2; printf("按位或结果:%u\n", result_or); // 输出 14,二进制表示为 1110 // 按位异或(^) unsigned int result_xor = num1 ^ num2; printf("按位异或结果:%u\n", result_xor); // 输出 12,二进制

2024-04-13

TypeScript类型系统与Next.js全栈项目实战指南

TypeScript类型系统与Next.js全栈项目实战指南

2026-08-22

FFmpeg音视频处理实战指南:转码、滤镜、ffprobe与批处理

面向需要处理音视频的开发者,系统整理 FFmpeg 命令行工具的媒体探测、封装转换、重新编码、视频与音频滤镜、复杂滤镜图、PowerShell 批处理、硬件加速提示和常见故障排查。内容基于 FFmpeg 官方文档重新组织,适合 Windows、Linux 和 macOS 用户作为日常命令速查与实践入门。

2026-08-21

大模型微调与部署:LoRA量化与推理服务实战

本资源面向希望掌握大模型训练与上线流程的开发者,整理数据清洗、LoRA与QLoRA参数高效微调、DPO/RLHF偏好对齐、模型评测、量化和推理服务部署方法。适合用于垂直领域模型原型、显存受限训练和本地推理服务搭建。使用方法:先完成数据检查与基线评测,再按章节进行小规模微调、量化和服务压测。

2026-08-20

RAG知识库文档解析检索与问答评测实战

本资源面向希望搭建知识库问答系统的开发者,系统整理文档解析、文本分块、向量与关键词混合检索、重排序、上下文组装、引用约束、权限过滤和离线评测方法。适合用于企业文档助手、本地知识库和检索增强生成原型。使用方法:先用少量文档跑通离线检索,再接入真实数据、权限控制和问答评测集。

2026-08-20

Makefile多模块工程自动化编译与持续集成实战

本资源面向 C/C++ 开发者,系统整理 Makefile 规则、依赖管理、增量编译、Debug/Release 配置、静态库链接、测试、打包和持续集成流程。适合整理遗留工程、建立可重复构建环境和团队协作规范。使用方法:先按目录创建示例工程,再逐步加入头文件依赖、测试目标和 CI 构建命令。

2026-08-20

AI Agent工具调用与多智能体协作实战指南

本资源面向希望掌握 AI Agent 工程实践的开发者,系统整理任务拆解、工具调用、参数校验、多智能体协作、记忆设计、长任务容错与评估调试方法。适合用于 Agent 原型开发、技术分享和项目方案设计。使用方法:阅读 Markdown 文档,按目录先实现只读工具闭环,再逐步加入协作、记忆和人工确认机制。

2026-08-20

程序员的自我修养-小白导读.md

个人笔记

2026-08-17

anaconda安装.docx

anaconda安装 Anaconda是一个开源的Python发行版,它包含了大量的科学计算包,如NumPy、SciPy、Pandas,以及深度学习框架等,非常适合数据科学、机器学习和科研领域的工作。以下是详细的Anaconda安装步骤: ### 1. 下载Anaconda 1. **访问官网**:打开浏览器,访问Anaconda的官方网站:[Anaconda官网](https://www.anaconda.com/products/distribution)。 2. **选择操作系统**:根据你的操作系统(Windows、macOS或Linux),选择对应的版本。 3. **下载安装包**:点击“Download”按钮,下载对应系统的安装包。 ### 2. 安装Anaconda #### **Windows系统** 1. **运行安装程序**:双击下载的`.exe`文件启动安装程序。 2. **欢迎界面**:点击“Next”继续。 3. **许可协议**:阅读许可协议并点击“I Agree”接受协议。 4. **选择安装类型**: - **Just Me**:仅为当前用户

2024-08-29

c语言入门介绍.docx

c语言入门 C语言是计算机科学中最基础、最广泛使用的编程语言之一。它被称为“系统编程语言”,广泛应用于操作系统、嵌入式系统以及其他性能要求较高的领域。C语言具有简洁、高效的特点,能够直接操作内存,适合编写底层硬件驱动程序和实时系统。 ### C语言的基本特点: 1. **简洁性**:C语言的语法规则简单明了,非常适合初学者学习编程基础。 2. **高效性**:C语言生成的代码执行速度快,适用于高性能应用。 3. **灵活性**:C语言支持指针、直接内存访问等操作,提供了极大的灵活性。 4. **跨平台性**:C语言编写的程序可以在多种操作系统和平台上编译运行。 ### 典型案例:Hello, World! “Hello, World!”是学习编程语言的第一个经典案例,用来展示如何编写、编译和运行一个简单的C语言程序。 #### 代码示例: ```c #include <stdio.h> int main() { // 输出 "Hello, World!" 到控制台 printf("Hello, World!\n"); return 0; } ```

2024-08-29

七维大脑 - 沿研究、人工智能和认知科学.docx

七维大脑 "七维大脑"这个概念在某些前沿研究、人工智能和认知科学的讨论中,作为一种多维度的思维模型被提及。这种模型试图通过分解大脑的不同功能和认知过程,来更好地理解人类的思维、决策和意识。以下是对七个维度的详细描述: ### 1. 空间维度(Spatial Dimension) 这个维度与大脑处理空间信息的能力有关。空间维度涉及如下几个方面: - **空间感知**:通过视觉、听觉和触觉等感官,感知并理解物体在空间中的位置和关系。 - **导航能力**:例如,如何在复杂的环境中找到路径(如驾驶汽车或步行到目的地)。 - **身体协调性**:理解和控制身体在三维空间中的动作,包括运动和平衡。 ### 2. 时间维度(Temporal Dimension) 时间维度与大脑处理时间相关的信息有关: - **时间顺序**:大脑如何理解事件的先后顺序,比如记忆中的时间线。 - **节奏感**:感知和反应时间的节奏,例如音乐节拍和语言的韵律。 - **时间预测**:预测未来事件的发生,如通过经验预判某个动作的结果。 ### 3. 逻辑维度(Logical Dimension) 逻辑维度涉及大

2024-08-29

单片机介绍及使用.docx

单片机 ### 单片机系统简介 **单片机**(Microcontroller Unit,MCU)是一种集成了中央处理器 (CPU)、内存 (RAM)、非易失性存储器 (ROM/Flash)、以及输入/输出接口 (I/O) 于一体的微型计算机。与通用计算机相比,单片机更注重控制应用,被广泛应用于嵌入式系统中,用于对外部设备进行控制和监测。 #### 单片机的基本组成 1. **中央处理器 (CPU)**: - 执行程序指令,是单片机的核心组件。 - 处理各种逻辑、算术操作,以及对系统的控制指令。 2. **内存 (RAM)**: - 用于临时存储数据,如变量、计算结果等。 - 一般容量较小,断电后数据丢失。 3. **非易失性存储器 (ROM/Flash)**: - 存储固化的程序代码和初始化数据,断电后数据不丢失。 - Flash 存储器允许在系统内更新程序。 4. **输入/输出接口 (I/O)**: - 通过 GPIO(通用输入输出端口)与外部设备进行交互,如传感器、显示屏、按钮等。 5. **定时器/计数器**:

2024-08-27

shell脚本介绍及使用案例

shell脚本 ### Shell 脚本简介 **Shell 脚本** 是一组命令的集合,这些命令通常是用于执行特定任务的自动化脚本。Shell 脚本通常用于系统管理、批量处理任务、自动化部署等。在 Linux 或 Unix 系统中,常用的 Shell 包括 Bash、sh、zsh 等,其中 Bash 是最常见的 Shell。 #### Shell 脚本的基本结构 一个简单的 Shell 脚本通常包括以下几个部分: 1. **脚本声明**: 指定脚本使用的解释器(通常是 Bash)。 ```bash #!/bin/bash ``` 这行称为“shebang”,`/bin/bash` 表示脚本将由 Bash 解释器执行。 2. **注释**: 使用 `#` 开头的行是注释,用于说明脚本内容或提供文档。 ```bash # This is a comment ``` 3. **命令和语句**: 脚本主体部分,包括各种命令、变量定义、循环和条件语句等。 #### 变量 在 Shell 脚本中,变量用于存储数据。变量定义时直接赋值,不

2024-08-27

linux常用命令大全.docx

linux常用命令大全 以下是常用的 Linux 命令大全(第二部分),详细介绍了每个命令的功能、常见选项及使用示例: ### 文件和目录管理 1. **`cp`** - 复制文件或目录 - **用法**: `cp [选项] 源文件 目标文件` - **常用选项**: - `-r`: 递归复制目录及其内容 - `-i`: 交互式复制,覆盖文件前询问 - `-v`: 显示复制过程中的详细信息 - **示例**: - `cp file1.txt file2.txt` 复制文件 `file1.txt` 为 `file2.txt` - `cp -r dir1 dir2` 递归复制目录 `dir1` 到 `dir2` 2. **`mv`** - 移动或重命名文件或目录 - **用法**: `mv [选项] 源文件 目标文件` - **常用选项**: - `-i`: 交互式移动,覆盖文件前询问 - `-v`: 显示移动过程中的详细信息 - **示例**: - `mv old

2024-08-27

win-vs-soem-win10/11系统VisualStudio-SOEM-控制电机走位置模式(PP模式)-添加代码注释

环境:基于win10/win11系统上使用VisualStudio 2017 搭建SOEM主站。 VisualStudio 2017 及以上的版本都可以。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 41 -- win-vs-soem-win10及win11系统VisualStudio-SOEM-控制电机走位置模式(PP模式) 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 电机进行操作,通过位置模式(PP模式)控制一个电机转圈圈。

2024-06-21

win-vs-soem-win10及11系统VisualStudio-SOEM-控制IO模块-采集IO及IO输出-添加代码注释

环境:基于win10/win11系统上使用VisualStudio 2017 搭建SOEM主站。 VisualStudio 2017 及以上的版本都可以。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 46 -- win-vs-soem-win10及win11系统VisualStudio-SOEM-控制IO模块-采集IO及IO输出 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 IO模块进行操作,控制IO模块-采集IO及IO输出

2024-06-21

win-vs-soem-win10/11系统VisualStudio-SOEM-控制电机走转矩模式(PT模式)-添加代码注释

环境:基于win10/win11系统上使用VisualStudio 2017 搭建SOEM主站。 VisualStudio 2017 及以上的版本都可以。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 42 -- win-vs-soem-win10及win11系统VisualStudio-SOEM-控制电机走转矩模式(PT模式) 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 电机进行操作,通过转矩模式(PT模式)控制一个电机转圈圈。

2024-06-21

win-vs-soem-win10及11系统VisualStudio-SOEM-控制电机走周期同步位置模式(CSP模式)代码注释

环境:基于win10/win11系统上使用VisualStudio 2017 搭建SOEM主站。 VisualStudio 2017 及以上的版本都可以。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 44 -- win-vs-soem-win10及win11系统VisualStudio-SOEM-控制电机走周期同步位置模式(CSP模式) 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 电机进行操作,通过周期同步位置模式(CSP模式)控制一个电机转圈圈。

2024-06-21

win-vs-soem-win10及11系统VisualStudio-SOEM-控制电机走周期同步力矩模式(CST模式)代码注释

环境:基于win10/win11系统上使用VisualStudio 2017 搭建SOEM主站。 VisualStudio 2017 及以上的版本都可以。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 45 -- win-vs-soem-win10及win11系统VisualStudio-SOEM-控制电机走周期同步力矩模式(CST模式) 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 电机进行操作,通过周期同步力矩模式(CST模式)控制一个电机转圈圈。

2024-06-21

win-vs-soem-win10及11系统VisualStudio-SOEM-控制电机走周期同步速度模式(CSV模式)代码注释

环境:基于win10/win11系统上使用VisualStudio 2017 搭建SOEM主站。 VisualStudio 2017 及以上的版本都可以。 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 43 -- win-vs-soem-win10及win11系统VisualStudio-SOEM-控制电机走周期同步速度模式(CSV模式) 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 电机进行操作,通过周期同步速度模式(CSV模式)控制一个电机转圈圈。

2024-06-21

win-vs-soem-win10及11系统VisualStudio-SOEM-控制电机走速度模式(PV模式)-添加代码注释

环境:基于win10/win11系统上使用VisualStudio 2017 搭建SOEM主站。 VisualStudio 2017 及以上的版本都 EtherCAT主站-SOEM专栏的源代码。 EtherCAT主站SOEM -- 40 --win-vs-soem-win10及win11系统VisualStudio-SOEM-控制电机走速度模式(PV模式) 博客链接:( https://blog.youkuaiyun.com/qq_50808730/category_12482257.html ) 视频链接: ( https://space.bilibili.com/436089624/channel/collectiondetail?sid=1893755&ctype=0 ) 源代码 主要功能: 获取网卡信息,绑定网卡,配置EtherCAT网络,等待从站进入OP状态,检查EtherCAT主站和从站状等等。 Soem主站识别到 几 个从站。 并且对1个EtherCAT从站 电机进行操作,通过速度模式(PV模式)控制一个电机转圈圈。

2024-06-21

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除