eric2013 发表于 2023-11-1 02:19:10

BSP视频教程第28期:CANopen协议栈专题,CANopen主从机组网实战,CAN词典工具使用方法以及吃透PDO玩法(2023-11-01)

本期视频的实战性较强,涉及到的内容比较多,特别是PDO同步周期和同步非周期玩法要吃透。

视频教程:

https://www.bilibili.com/video/BV1zy4y1A7HS/

https://www.bilibili.com/video/BV1zy4y1A7HS/

视频提纲:
https://img.alicdn.com/imgextra/i3/299314119/O1CN01LChlKU1gIYHxMLYDt_!!299314119.png

https://img.alicdn.com/imgextra/i3/299314119/O1CN016wLVj51gIYHuDKy2W_!!299314119.png

https://img.alicdn.com/imgextra/i2/299314119/O1CN01m2K12G1gIYHt6Asx0_!!299314119.png

https://img.alicdn.com/imgextra/i2/299314119/O1CN013y1Y8y1gIYHs2zWSS_!!299314119.png


参考资料:

CANopen主从机代码,CAN词典工具和主从机配置文件(基于V7板子设计,这两天V5和V6的也将发布)

链接:https://pan.baidu.com/s/1ru8wloLYwiTN9lnzizVJQQ提取码:4yja


eric2013 发表于 2023-11-1 02:49:57

更新完成。

AiK 发表于 2023-11-1 08:58:15

牛掰Plus         

FlyDragon 发表于 2023-11-1 09:01:35

收到,学习去:lol

chengyurongdeBB 发表于 2023-11-1 14:00:41

能用STM32详细介绍一下移植细节吗?字典配置这些都很简单,关键是移植需要哪几个模块才是关键。

jzz 发表于 2023-11-10 08:54:02

V5模版在哪里呢

eric2013 发表于 2023-11-10 09:09:55

jzz 发表于 2023-11-10 08:54
V5模版在哪里呢

这几天收尾H7-TOOL的2.24固件,发布了后,更新这个。

你好啊hhh 发表于 2023-11-12 11:21:52

硬汉哥这期教程的案例能在F103上跑起来吗 需要改的东西多吗:$

eric2013 发表于 2023-11-12 15:29:14

你好啊hhh 发表于 2023-11-12 11:21
硬汉哥这期教程的案例能在F103上跑起来吗 需要改的东西多吗

主要是底层接口适配为经典CAN即可。

你好啊hhh 发表于 2023-11-12 21:18:37

eric2013 发表于 2023-11-12 15:29
主要是底层接口适配为经典CAN即可。

有点菜 ,没改成,再看几遍大哥的课程   看看能不能整出来:L

油饼321 发表于 2023-11-18 16:49:45

F407经典CAN的CANopenNode有吗 论坛找没找到呦 这期是不是只有H7的FDcan版的呢

油饼321 发表于 2023-11-18 16:53:08

F407经典CAN的CANopenNode有吗 论坛里面没找到呦是只有H7的canfd版的吗

eric2013 发表于 2023-11-18 16:54:49

油饼321 发表于 2023-11-18 16:49
F407经典CAN的CANopenNode有吗 论坛找没找到呦 这期是不是只有H7的FDcan版的呢

F407的没做,当前仅做了H7的,等有时间了给V5和V6板子配套个。

油饼321 发表于 2023-11-19 14:33:21

eric2013 发表于 2023-11-18 16:54
F407的没做,当前仅做了H7的,等有时间了给V5和V6板子配套个。

CANopenNode在Keil上运行是有bug吗在CubIDE就可以运行 Keil就是跑不起来

xmylsf 发表于 2023-11-19 14:40:11

学习一下,辛苦了

油饼321 发表于 2023-11-19 16:28:47

CANopenNode移植到Keil需要对Kei这个软件做什么修改吗 在cubide上面可以运行,在keil就没反应呢这个跑起来都这么难吗:'(

eric2013 发表于 2023-11-20 00:17:50

油饼321 发表于 2023-11-19 16:28
CANopenNode移植到Keil需要对Kei这个软件做什么修改吗 在cubide上面可以运行,在keil就没反应呢这个跑起 ...

一样的,我楼主位末尾提供的就是MDK和IAR的。

qq792368480 发表于 2023-11-22 23:35:23

怎么看不见代码下载链接?

eric2013 发表于 2023-11-23 08:21:05

qq792368480 发表于 2023-11-22 23:35
怎么看不见代码下载链接?

在一楼末尾,已经补上了。

油饼321 发表于 2023-11-29 19:01:30

硬汉哥 同步周期传输是 主机发送同步包,然后主机接收从机发送的TPDO
现在遇到了一种情况同步周期传输从机RPDO接收主机发送的内容    这个是不是没法实现呢   只能采用事件触发吧

eric2013 发表于 2023-11-30 07:55:16

油饼321 发表于 2023-11-29 19:01
硬汉哥 同步周期传输是 主机发送同步包,然后主机接收从机发送的TPDO
现在遇到了一种情况同步周期传输   ...

对,是这样的。

老鸟kkk 发表于 2023-12-11 14:31:33

硬汉大佬,请问有在rtos上使用的例程么?在多线程下使用有什么要注意的?
对于从机,怎么获取主机下发的对象值来做具体的事情呢
对于主机,读写对象有重试次数和超时机制么

Roxy 发表于 2023-12-11 15:06:28

牛的硬汉哥

eric2013 发表于 2023-12-11 16:00:57

老鸟kkk 发表于 2023-12-11 14:31
硬汉大佬,请问有在rtos上使用的例程么?在多线程下使用有什么要注意的?
对于从机,怎么获取主机下发的对 ...

1、有互斥接口添加上即可,如果仅在一个任务里面使用,什么都不用特别操作。
2、可以使用PDO或者SDO
3、有的,出问题了会发紧急报文。

BZU2020 发表于 2023-12-20 14:39:19

硬汉哥 按视频上的我配置好了字典后 主机只能发送NMT和SDO给从机但是SYNC发不出来 PDO也不能传输这是哪里出了问题了呢

eric2013 发表于 2023-12-21 09:01:08

BZU2020 发表于 2023-12-20 14:39
硬汉哥 按视频上的我配置好了字典后 主机只能发送NMT和SDO给从机但是SYNC发不出来 PDO也不能传输这是哪 ...

PDO要在正常模式才可以使用,你看看是不是这个问题。

嵌入式菜鸟^_^ 发表于 2023-12-22 15:01:36

芜湖起飞,大佬会出一期EtherCAT吗?

BZU2020 发表于 2023-12-22 19:25:00

eric2013 发表于 2023-12-21 09:01
PDO要在正常模式才可以使用,你看看是不是这个问题。

谢谢解决一部分了 又遇到问题了我用F103跑的当主机添加了8个RPDO后可以正常工作,但是继续添加RPDO,一旦超过8个RPDO,就没反应了   这可能是哪里有问题啊

eric2013 发表于 2023-12-23 08:11:49

嵌入式菜鸟^_^ 发表于 2023-12-22 15:01
芜湖起飞,大佬会出一期EtherCAT吗?

一定会有的。

eric2013 发表于 2023-12-23 08:18:14

BZU2020 发表于 2023-12-22 19:25
谢谢解决一部分了 又遇到问题了我用F103跑的当主机添加了8个RPDO后可以正常工作,但是继续添加RPDO ...

有个RPDO最大个数配置的,找下。

BZU2020 发表于 2023-12-24 14:29:50

这个协议栈没整明白生成的对象字典里
#define OD_CNT_NMT 1
#define OD_CNT_EM 1
#define OD_CNT_SYNC 1
#define OD_CNT_SYNC_PROD 1
#define OD_CNT_STORAGE 1
#define OD_CNT_TIME 1
#define OD_CNT_EM_PROD 1
#define OD_CNT_HB_CONS 1
#define OD_CNT_HB_PROD 1
#define OD_CNT_SDO_SRV 1
#define OD_CNT_SDO_CLI 1
#define OD_CNT_RPDO 8
#define OD_CNT_TPDO 5

这个TPDO数量OD_CNT_TPDO如果手动改为5 就,就不能工作了   在CO_PDO.文件和惨open.h文件里面把CO_TPDO_DEFAULT_CANID_COUNT和CO_RPDO_DEFAULT_CANID_COUNT这俩参数都改了下,改成24,也没法运行而且对于对象字典里面OD_CNT_RPDO 和OD_CNT_TPDO 这两个值,如果大于4了 就有可能不工作这问题太奇怪了

eric2013 发表于 2023-12-25 08:56:38

BZU2020 发表于 2023-12-24 14:29
这个协议栈没整明白生成的对象字典里
#define OD_CNT_NMT 1
#define OD_CNT_EM 1


他这个没有限制个数。

BZU2020 发表于 2023-12-25 19:02:49

eric2013 发表于 2023-12-25 08:56
他这个没有限制个数。

硬汉哥 我又试了下只要是PDO个数少于12个就没问题超出了12个 就出问题了

eric2013 发表于 2023-12-26 08:24:59

BZU2020 发表于 2023-12-25 19:02
硬汉哥 我又试了下只要是PDO个数少于12个就没问题超出了12个 就出问题了

继续试

BZU2020 发表于 2023-12-26 09:43:56

eric2013 发表于 2023-12-26 08:24
继续试

硬汉哥 这可能是芯片的问题   F4就没问题了:lol另外 主站上电后,就会发送主站设置好的TPDO1-4 ,后面的TPDO没有发送   明明已经把TPDO设置为事件触发了

eric2013 发表于 2023-12-26 10:32:32

BZU2020 发表于 2023-12-26 09:43
硬汉哥 这可能是芯片的问题   F4就没问题了另外 主站上电后,就会发送主站设置好的TPDO1-4 ,后面 ...

也有可能是你的F1系列RAM空间太小,没给够。

role_2099 发表于 2023-12-26 15:21:39

硬汉大哥,V6啥时候出例程啊,一直不懂CAN,就看这次了:lol

eric2013 发表于 2023-12-26 15:25:21

role_2099 发表于 2023-12-26 15:21
硬汉大哥,V6啥时候出例程啊,一直不懂CAN,就看这次了

V5V6最近不弄了。

sys2003 发表于 2023-12-28 11:40:17

硬汉哥,请问H7支持CAN FD,也有CANopen FD协议,为啥没有采用最新的CANopen FD协议呢?

eric2013 发表于 2023-12-28 12:25:54

sys2003 发表于 2023-12-28 11:40
硬汉哥,请问H7支持CAN FD,也有CANopen FD协议,为啥没有采用最新的CANopen FD协议呢?
暂时还没有好的,开源免费的CANopen FD协议。

当前市面上还是以经典CAN的CANopen为主。
页: [1] 2
查看完整版本: BSP视频教程第28期:CANopen协议栈专题,CANopen主从机组网实战,CAN词典工具使用方法以及吃透PDO玩法(2023-11-01)