CANopenNode 源码解读
📚 30 章完整版
v2.0
01
1
CANopenNode 概述
项目背景 · 源码结构 · 核心功能模块
02
2
开发环境搭建
编译工具链 · 模拟器 · 下载与首次编译
03
3
主循环与定时器
CO_main() · 定时器中断 · 时间触发
04
4
对象字典(OD)机制
OD数据结构 · 存储加载 · 访问接口
05
5
NMT 状态机
状态定义 · 转换逻辑 · 主从交互
06
6
心跳与节点监控
生产者/消费者 · 守护进程 · 超时
07
7
SDO 协议详解
请求/响应 · 分段传输 · 块传输
08
8
SDO 源码实现
服务器状态机 · 客户端接口 · 超时错误
09
9
PDO 通信机制
PDO映射 · 传输类型 · 同步/异步
10
10
PDO 源码分析
RPDO/TXPDO · 事件触发 · 禁止时间
11
11
EMCY 紧急报文
错误寄存器 · 紧急代码 · 生产者/消费者
12
12
SYNC 同步报文
SYNC配置 · 消费者同步 · 时间戳
13
13
TIME 时间戳
TIME数据类型 · 同步机制 · 高精度应用
14
14
LSS 层设置协议
LSS寻址 · 配置 · 节点ID与波特率
15
15
CAN 驱动层抽象
硬件抽象层 · 驱动注册 · 多平台
16
16
CO_Emergency 模块
紧急状态管理 · 错误历史 · 用户回调
17
17
CO_SDOserver 详解
状态机深度 · 多线程安全 · 缓冲区
18
18
CO_SDOclient 详解
发起流程 · 分段上传/下载 · 中止码
19
19
CO_PDOs 详解
通信参数 · 映射参数 · 动态映射
20
20
CO_NMT_Heartbeat
心跳配置 · 消费者超时 · 节点监控
21
21
CO_SYNC 详解
窗口机制 · 同步计数器 · 与PDO联动
22
22
CO_TIME 详解
数据类型转换 · 同步精度 · 跨平台
23
23
CO_LSS 详解
从站状态机 · 主站命令 · 配置保存
24
24
CO_Emergency 详解
报文生成 · 错误寄存器 · 自定义错误
25
25
CO_OD 接口详解
条目访问 · 扩展机制 · 存储后端
26
26
CO_driver 详解
CAN初始化 · 发送/接收队列 · 中断
27
27
CO_timer 详解
软件定时器 · 精度 · 回调管理
28
28
CO_SDO_block
块传输协议 · 块大小协商 · CRC
29
29
CO_fault_handling
总线关闭恢复 · 错误被动 · 节点保护
30
30
综合实战
完整从站节点 · 调试技巧 · 性能优化