随笔- 129
文章- 0
评论- 0
阅读-
42506
02 2025 档案
CANopen轻松入门----详解1
摘要:1.前因:CAN仅仅规定了第一层(物理层)、第二层(数据链路层),实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件或固件,CAN 没有规定应用层。 也就是没有规定与实际应用相关的逻辑,比如开关量输入输出,模拟量输入输出。所以本身对于应用来说,是不完整的。 像铁矿石(物理层)冶炼成铁锭
阅读全文
Cia301协议详解-CANopen应用层和通信协议-----名词解释&CANopen通信模型
摘要:1.本文定义CANopen应用层的数据类型、编码规则、对象字典、CANopen通信服务协议、CANopen网络管理服务协议。2.本文规定CANopen通信协议,如物理层、通信对象标识符预定义连接集、应急对象、时间戳、同步通信对象。缩写定义 ARQ--自动重复请求、CAN--控制局域网、CAN ID-
阅读全文
PDO和SDO
摘要:通过SDO配置PDO代码如下 下面是固定模式 SDO格式 PDO格式: 可以看到从机有4个TPDO,而主机有4组 主机不遵循402协议的,主机控制不同的电机需要有不同的转速、扭矩等等,它存在自定义的索引里面。 PDO配置过程 其中 22 00 14 01 01 02 00 80解析出来如下 22表示
阅读全文
Cia状态机&NMT指令格式
摘要:上电后会进入初始化状态,然后进入预操作状态,接着进入操作状态,中间有什么错误直接进入停止状态。步骤如下 上电 初始化状态(主机) 预操作状态(主机)pre-operational 这个状态下,不能发送PDO,但是可以发送SDO或SYNC 通过SDO配置PDO 0x06(让驱动器准备好)-->0x07
阅读全文
如何修改和配置字典文件----发送pdo消息(1s发送1次)
摘要:1.发送pdo 1.配置字典 CANopen知识、cia301协议(查找字典中的索引号) 2.配置时钟 us和ms的系数,配置准了之后就可以了。 TPDO1的通信参数是0x1800,映射参数是0x1A00,其中1800和1A00是成对出现的。意思是用就是用1对,没有用1个之说。 所以如果要用TPDO
阅读全文
Bilibili----葛大工程师1
摘要:Bilibili 葛大工程师 移植笔记链接:https://www.bilibili.com/read/readlist/rl452550?spm_id_from=333.1369.opus.module_collection.click 1.准备工作 1.下载CANFestival源码。 1.发送
阅读全文
如何修改和配置字典文件----发送sync消息
摘要:1.如果CANFestival想要周期性发送sync报文,要求1秒发送1次,如下应该怎么操作? 1.配置字典 CANopen知识、sync的索引 所有操作、配置、参数都是从字典中查找的。 首先根据CANopen协议Cia301,找到索引0x1005就是配置sync报文的。 根据协议如下: index
阅读全文
Cia301协议笔记
摘要:标识符就是canid PDO PDO 是 无应答服务。 PDO 可以在 主站 和 从站 之间进行双向传输,适用于实时控制和数据更新。 SDO SDO 是 应答服务。 SDO 用于设备的 配置 或 对象字典 的 读写 操作。通常用于设备初始化时的数据读取、写入或修改。 什么是COB标识符??? COB
阅读全文
buildroot 构建根文件系统(7)添加 socketcan 支持
摘要:一、开发背景 构建最小系统后成功运行后,启用的 app 程序中包含对 can 的操作,出现操作报错,如下 ifconfig can0 down ip link set can0 type can bitrate 500000 ifconfig can0 up 二、开发需求 Qt 库编译的程序可以正常
阅读全文
Timer定时器多处复用
摘要:/********** * Copyright (c++) * 目的:定时器多处复用 * 1.初始化定时器,假设定时器中断为1ms */ //定义宏、数值 #define TASK_SUM (3) //表示有三个任务会使用此定时器。 uint16 TaskCount[TASK_SUM]; //存放定
阅读全文
CANfestival移植----Bilibili----葛大工程师
摘要:Bilibili 葛大工程师移植笔记链接:https://www.bilibili.com/read/readlist/rl452550?spm_id_from=333.1369.opus.module_collection.click 1.准备工作 1.下载CANFestival源码。 2.准备c
阅读全文
2025-工作笔记
摘要:1.sysroot只是一个目录用来存放开发板的各种库而已。2.qmake -query 可以查看qt安装信息3.qmake修改默认qt库路径 sudo ln -s path/to/your/qmake /usr/bin/qmake 4.交叉编译QT6源码,cmake --build 阶段遇到报错,
阅读全文
Linux新命令
摘要:1. locate libGL 查找libGL的动态库2. ar -x codesyscontrol.a ar -r codesyscontrol.a myfile.o/opt/st/stm32mp135f_toolchain_gnueabihf/arm-buildroot-linux-gnueab
阅读全文
调试技巧
摘要:1.使用 apt-file 工具查找哪个包提供了 sys/types.h 文件,首先要安装 apt-file 工具 sudo apt-get install apt-file sudo apt-file update apt-file search sys/types.h 2.
阅读全文
编程笔记
摘要:1.0 右移操作 vs 除法运算 右移操作在某些情况下比普通的除法运算更高效,尤其在嵌入式系统或对性能要求较高的场合,通常会用位移操作来代替除法运算。 1.1 数组的几种声明形式 int a[3]; //初始值是不确定的,随机的; int a[3] = {0}; //数组中的三个数据都初始化为0;
阅读全文
1.CANopen协议解析
摘要:CANopen简介 应用层:用户根据实际的需求编写的应用对象。 对象字典(核心):描述应用对象和CANopen报文之间的关系。每一个CANopen设备都有一个对象字典。 通信:定义了 CANopen 协议通信规则以及与 CAN 控制器驱动之间对应关系。 过程数据对象PDO: 服务数据对象SDO:
阅读全文