硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3705|回复: 59
收起左侧

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

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
发表于 2023-11-1 02:19:10 | 显示全部楼层 |阅读模式
本期视频的实战性较强,涉及到的内容比较多,特别是PDO同步周期和同步非周期玩法要吃透。

视频教程:

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



视频提纲:









参考资料

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

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


评分

参与人数 3金币 +60 收起 理由
qq1646544 + 20
15605177809 + 20
scl3917 + 20

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-11-1 02:49:57 | 显示全部楼层
更新完成。
回复

使用道具 举报

3

主题

28

回帖

37

积分

新手上路

积分
37
发表于 2023-11-1 08:58:15 | 显示全部楼层
牛掰Plus           
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2023-11-1 09:01:35 | 显示全部楼层
收到,学习去
回复

使用道具 举报

1

主题

16

回帖

19

积分

新手上路

积分
19
发表于 2023-11-1 14:00:41
能用STM32详细介绍一下移植细节吗?字典配置这些都很简单,关键是移植需要哪几个模块才是关键。

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2023-11-10 08:54:02 | 显示全部楼层
V5模版在哪里呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-11-10 09:09:55 | 显示全部楼层
jzz 发表于 2023-11-10 08:54
V5模版在哪里呢

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

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2023-11-12 11:21:52 | 显示全部楼层
硬汉哥  这期教程的案例能在F103上跑起来吗 需要改的东西多吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-11-12 15:29:14 | 显示全部楼层
你好啊hhh 发表于 2023-11-12 11:21
硬汉哥  这期教程的案例能在F103上跑起来吗 需要改的东西多吗

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

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2023-11-12 21:18:37 | 显示全部楼层
eric2013 发表于 2023-11-12 15:29
主要是底层接口适配为经典CAN即可。

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

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2023-11-18 16:49:45 | 显示全部楼层
F407经典CAN的CANopenNode有吗 论坛找没找到呦 这期是不是只有H7的FDcan版的呢
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2023-11-18 16:53:08 | 显示全部楼层
F407经典CAN的CANopenNode有吗 论坛里面没找到呦  是只有H7的canfd版的吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-11-18 16:54:49 | 显示全部楼层
油饼321 发表于 2023-11-18 16:49
F407经典CAN的CANopenNode有吗 论坛找没找到呦 这期是不是只有H7的FDcan版的呢

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

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2023-11-19 14:33:21 | 显示全部楼层
eric2013 发表于 2023-11-18 16:54
F407的没做,当前仅做了H7的,等有时间了给V5和V6板子配套个。

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

使用道具 举报

1

主题

14

回帖

17

积分

新手上路

积分
17
发表于 2023-11-19 14:40:11 | 显示全部楼层
学习一下,辛苦了
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2023-11-19 16:28:47 | 显示全部楼层
CANopenNode移植到Keil需要对Kei这个软件做什么修改吗 在cubide上面可以运行,在keil就没反应呢  这个跑起来都这么难吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-11-20 00:17:50 | 显示全部楼层
油饼321 发表于 2023-11-19 16:28
CANopenNode移植到Keil需要对Kei这个软件做什么修改吗 在cubide上面可以运行,在keil就没反应呢  这个跑起 ...

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

使用道具 举报

3

主题

14

回帖

23

积分

新手上路

积分
23
发表于 2023-11-22 23:35:23 | 显示全部楼层
怎么看不见代码下载链接?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-11-23 08:21:05 | 显示全部楼层
qq792368480 发表于 2023-11-22 23:35
怎么看不见代码下载链接?

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

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2023-11-29 19:01:30 | 显示全部楼层
硬汉哥 同步周期传输是 主机发送同步包,然后主机接收从机发送的TPDO
现在遇到了一种情况  同步周期传输  从机RPDO接收主机发送的内容    这个是不是没法实现呢   只能采用事件触发吧
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-11-30 07:55:16 | 显示全部楼层
油饼321 发表于 2023-11-29 19:01
硬汉哥 同步周期传输是 主机发送同步包,然后主机接收从机发送的TPDO
现在遇到了一种情况  同步周期传输   ...

对,是这样的。
回复

使用道具 举报

8

主题

25

回帖

49

积分

初级会员

积分
49
发表于 2023-12-11 14:31:33 | 显示全部楼层
硬汉大佬,请问有在rtos上使用的例程么?在多线程下使用有什么要注意的?
对于从机,怎么获取主机下发的对象值来做具体的事情呢
对于主机,读写对象有重试次数和超时机制么
回复

使用道具 举报

3

主题

8

回帖

17

积分

新手上路

积分
17
发表于 2023-12-11 15:06:28 | 显示全部楼层
牛的硬汉哥
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-12-11 16:00:57 | 显示全部楼层
老鸟kkk 发表于 2023-12-11 14:31
硬汉大佬,请问有在rtos上使用的例程么?在多线程下使用有什么要注意的?
对于从机,怎么获取主机下发的对 ...

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

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2023-12-20 14:39:19 | 显示全部楼层
硬汉哥 按视频上的我配置好了字典后 主机只能发送NMT和SDO给从机  但是SYNC发不出来 PDO也不能传输  这是哪里出了问题了呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-12-21 09:01:08 | 显示全部楼层
BZU2020 发表于 2023-12-20 14:39
硬汉哥 按视频上的我配置好了字典后 主机只能发送NMT和SDO给从机  但是SYNC发不出来 PDO也不能传输  这是哪 ...

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

使用道具 举报

9

主题

51

回帖

78

积分

初级会员

积分
78
发表于 2023-12-22 15:01:36 | 显示全部楼层
芜湖起飞,大佬会出一期EtherCAT吗?
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2023-12-22 19:25:00 | 显示全部楼层
eric2013 发表于 2023-12-21 09:01
PDO要在正常模式才可以使用,你看看是不是这个问题。

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-12-23 08:11:49 | 显示全部楼层
嵌入式菜鸟^_^ 发表于 2023-12-22 15:01
芜湖起飞,大佬会出一期EtherCAT吗?

一定会有的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-12-23 08:18:14 | 显示全部楼层
BZU2020 发表于 2023-12-22 19:25
谢谢  解决一部分了 又遇到问题了  我用F103跑的  当主机添加了8个RPDO后可以正常工作,但是继续添加RPDO ...

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

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 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了 就有可能不工作  这问题太奇怪了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-12-25 08:56:38 | 显示全部楼层
BZU2020 发表于 2023-12-24 14:29
这个协议栈没整明白  生成的对象字典里
#define OD_CNT_NMT 1
#define OD_CNT_EM 1

他这个没有限制个数。
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2023-12-25 19:02:49 | 显示全部楼层
eric2013 发表于 2023-12-25 08:56
他这个没有限制个数。

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-12-26 08:24:59 | 显示全部楼层
BZU2020 发表于 2023-12-25 19:02
硬汉哥 我又试了下  只要是PDO个数少于12个  就没问题  超出了12个 就出问题了

继续试
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2023-12-26 09:43:56 | 显示全部楼层

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-12-26 10:32:32 | 显示全部楼层
BZU2020 发表于 2023-12-26 09:43
硬汉哥 这可能是芯片的问题   F4就没问题了  另外 主站上电后,就会发送主站设置好的TPDO1-4 ,后面 ...

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

使用道具 举报

6

主题

126

回帖

144

积分

初级会员

积分
144
发表于 2023-12-26 15:21:39 | 显示全部楼层
硬汉大哥,V6啥时候出例程啊,一直不懂CAN,就看这次了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-12-26 15:25:21 | 显示全部楼层
role_2099 发表于 2023-12-26 15:21
硬汉大哥,V6啥时候出例程啊,一直不懂CAN,就看这次了

V5V6最近不弄了。
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2023-12-28 11:40:17 | 显示全部楼层
硬汉哥,请问H7支持CAN FD,也有CANopen FD协议,为啥没有采用最新的CANopen FD协议呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
 楼主| 发表于 2023-12-28 12:25:54 | 显示全部楼层
sys2003 发表于 2023-12-28 11:40
硬汉哥,请问H7支持CAN FD,也有CANopen FD协议,为啥没有采用最新的CANopen FD协议呢?

暂时还没有好的,开源免费的CANopen FD协议。

当前市面上还是以经典CAN的CANopen为主。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-27 23:40 , Processed in 0.425900 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表