OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9391|回复: 22

关于canfestival的PDO操作

[复制链接]

17

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1312
金钱
1312
注册时间
2017-3-1
在线时间
259 小时
发表于 2019-1-25 13:32:53 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 NewGuard 于 2019-1-25 16:49 编辑

    最近遇到一个问题,板子移植canfestival后(目前只用了从机),心跳包、SDO、PDO部分功能可以使用,
不过现在遇到PDO的事件触发有问题,通过改变TPDO的映射值而无法触发其发送数据,同步帧触发和定时
触发都可以用。
补充一下:事件触发PDO的内容只在节点从预操作模式切换成操作模式时,能看到触发PDO的映射内容,不
知道是什么问题,还望指点下,谢谢!


2019-01-25_133010.jpg
2019-01-25_133108.jpg
1.jpg
2.jpg

最佳答案

查看完整内容[请看2#楼]

路过的各位有没有指点的地方?我也是查了好多资料搞不定呀。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1312
金钱
1312
注册时间
2017-3-1
在线时间
259 小时
 楼主| 发表于 2019-1-25 13:32:54 | 显示全部楼层
路过的各位有没有指点的地方?我也是查了好多资料搞不定呀。
回复

使用道具 举报

17

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1312
金钱
1312
注册时间
2017-3-1
在线时间
259 小时
 楼主| 发表于 2019-1-25 16:59:12 | 显示全部楼层
有觉得需要补充的地方,可以指点下,我是被它折磨了好久。
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2019-1-25 20:07:08 | 显示全部楼层
楼主的工具软件是自己做的?
一分耕耘一分收获。
回复

使用道具 举报

17

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1312
金钱
1312
注册时间
2017-3-1
在线时间
259 小时
 楼主| 发表于 2019-1-26 09:04:45 | 显示全部楼层
yklstudent 发表于 2019-1-25 20:07
楼主的工具软件是自己做的?

不是,买的USBCAN带的
回复

使用道具 举报

6

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2019-1-25
在线时间
17 小时
发表于 2019-1-26 12:04:07 | 显示全部楼层
canfestival协议栈是使用一个硬件定时器模拟几个定时器。
最关键的函数就是TimeDispatch(),里面涉及了许多复杂的时间计算和任务调度。
timerForCan()函数在硬件定时器中断服务里调用。

事件触发PDO函数放在一个定时器下,查查它的触发条件吧。

我也只用过定时触发的功能,

回复

使用道具 举报

1

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2019-3-28
在线时间
14 小时
发表于 2019-4-3 11:46:32 | 显示全部楼层
你好,楼主,你这个报文格式就在这面操作吗?自己写的代码发送数据呢,可以看看吗
回复

使用道具 举报

17

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1312
金钱
1312
注册时间
2017-3-1
在线时间
259 小时
 楼主| 发表于 2019-4-3 13:30:54 | 显示全部楼层
墨香余味 发表于 2019-4-3 11:46
你好,楼主,你这个报文格式就在这面操作吗?自己写的代码发送数据呢,可以看看吗

我只用了上位机测试,后面就没弄了。
回复

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
181
金钱
181
注册时间
2017-7-24
在线时间
48 小时
发表于 2019-4-21 15:18:35 | 显示全部楼层
请问楼主,可以看下sdo的程序吗,,移植完后,就不知道怎么弄了。
回复

使用道具 举报

17

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1312
金钱
1312
注册时间
2017-3-1
在线时间
259 小时
 楼主| 发表于 2019-4-22 17:28:07 | 显示全部楼层
本帖最后由 NewGuard 于 2019-4-22 17:29 编辑
随风的风 发表于 2019-4-21 15:18
请问楼主,可以看下sdo的程序吗,,移植完后,就不知道怎么弄了。

我移植后只是简单的测试了下,没有项目所以我也是知之甚少。
应该可以用上位机简单测试下,快速SDO协议见图片,你可以对相应的变量读写。
你先试试,不行的话我找下代码。
clipboard.png
回复

使用道具 举报

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2018-5-31
在线时间
13 小时
发表于 2019-5-23 08:47:54 | 显示全部楼层
随风的风 发表于 2019-4-21 15:18
请问楼主,可以看下sdo的程序吗,,移植完后,就不知道怎么弄了。

你知道SDO或者PDO怎么用了吗
回复

使用道具 举报

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2018-5-31
在线时间
13 小时
发表于 2019-5-23 08:48:55 | 显示全部楼层
NewGuard 发表于 2019-4-22 17:28
我移植后只是简单的测试了下,没有项目所以我也是知之甚少。
应该可以用上位机简单测试下,快速SDO协议 ...

刚刚移植完CanFestival,字典工具怎么用,怎么让主从机交换数据呢?现在只有心跳
一脸懵
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2019-7-5
在线时间
0 小时
发表于 2019-7-5 20:53:26 | 显示全部楼层
楼主你好,请问你是只用一块板子和can分析仪实现的PDO传输功能吗?如何才能实现PDO同步帧传输呀?
回复

使用道具 举报

4

主题

12

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2018-10-4
在线时间
9 小时
发表于 2019-11-5 15:43:45 | 显示全部楼层
NewGuard 发表于 2019-4-22 17:28
我移植后只是简单的测试了下,没有项目所以我也是知之甚少。
应该可以用上位机简单测试下,快速SDO协议 ...

请问楼主
我现在想用canfestival的Sdo读取从站的对象字典。我SDO接收函数proceedSDO也大致看了一下,不过目前就是不知道用哪个函数开始发sdo?   请问能提供下你的代码吗?感谢!!
回复

使用道具 举报

1

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2019-9-25
在线时间
39 小时
发表于 2019-12-4 10:45:31 | 显示全部楼层
楼主你好,我也是移植到407的CANopen,但是用USBCAN监视没有报文收发,BOOTUP啥的都没有,移植也是用的那位萨摩耶楼主的教程,我不知道问题出在哪里。
回复

使用道具 举报

1

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2019-9-25
在线时间
39 小时
发表于 2019-12-4 13:26:49 | 显示全部楼层
还有接收到NMT节点状态切换命令后,我看代码里面没通过CAN发送心跳报文显示当前状态的程序,从站发送心跳报文给主站是怎么实现的,麻烦楼主指点迷津
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2019-9-20
在线时间
11 小时
发表于 2020-2-5 16:03:38 | 显示全部楼层
我也遇到了同样的问题,老大解决了吗;
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2020-2-1
在线时间
3 小时
发表于 2020-2-9 01:12:47 | 显示全部楼层
楼主,请问理清楚主函数中如何调用各类协议接口函数了吗?可否分享一下,谢谢!
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2020-2-1
在线时间
3 小时
发表于 2020-2-9 01:15:37 | 显示全部楼层
触发事件,应该在条件完成后,调用sendPDOevent 来启动数据发送? 网上没有找到相关应用函数接口的介绍。。
回复

使用道具 举报

108

主题

194

帖子

0

精华

高级会员

Rank: 4

积分
713
金钱
713
注册时间
2016-6-29
在线时间
165 小时
发表于 2020-4-24 13:12:16 | 显示全部楼层
需要调用sendPDOevent去触发
回复

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2019-7-6
在线时间
32 小时
发表于 2020-6-9 23:16:25 | 显示全部楼层
宝石1234 发表于 2019-12-4 10:45
楼主你好,我也是移植到407的CANopen,但是用USBCAN监视没有报文收发,BOOTUP啥的都没有,移植也是用的那位 ...

这个好像是 定时器初始化被注释了。  
回复

使用道具 举报

6

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
484
金钱
484
注册时间
2017-10-31
在线时间
90 小时
发表于 2020-7-30 14:05:41 | 显示全部楼层


LZ  我用从主节点去查询从节点1的字典  数据如下
601  40 00 20 00 00 00 00 00
581  4F 00 20 00 EE 00 00 00
这是我用串口监视知道   
从节点1的2000 00 里面的值是EE

但是我想知道这个 从节点1的2000 00 里面的值  怎末用程序知道这个值  求解
回复

使用道具 举报

17

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1312
金钱
1312
注册时间
2017-3-1
在线时间
259 小时
 楼主| 发表于 2020-7-30 15:31:44 | 显示全部楼层
好多坛友问问题,我当初也是跟着论坛其他人的教程移植成功,但是应用也没实际操作起来,后面有问题解决不了,就放弃了。所以好多问题我有心无力,现在也全忘光了
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 10:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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