CanOpen协议【CanFestival】移植方法 支持VC、QT、STM32

[复制链接]
36585|116
nswnwlw 发表于 2015-12-29 10:24 | 显示全部楼层
本帖最后由 nswnwlw 于 2015-12-29 11:02 编辑
feihufuture 发表于 2015-12-28 17:31
用好接收发送函数,挺简单的

手头上有个stm32f10x裸机移植canopen从站的完整程序, 我想把它改成stm32f4xx的主站.最好是有标准库版本和hal库版本的. 本人小白, 用这个程序该怎么发命令出去呢? 请问可以帮忙么? qq3184854630

评论

建议你找给你提供完整程序的那个人帮忙  发表于 2016-2-21 11:25
jiang887786 发表于 2016-1-14 09:22 | 显示全部楼层
楼主辛苦了,谢谢分享!
taowei004 发表于 2016-3-13 15:23 | 显示全部楼层
谢谢分享
suodo 发表于 2016-6-12 15:09 | 显示全部楼层
楼主 ,您好,我最近在学习阶段,我想请教下,看到一个函数RegisterSetODentryCallBack(CO_Data* d, UNS16 wIndex, UNS8 bSubindex, ODCallback_t Callback) 实在有些不明白,您能不能指导下,该函数的作用是什么?那个回调目的是什么?
suodo 发表于 2016-6-30 17:57 | 显示全部楼层
daboy5279 发表于 2016-6-25 16:58
这个函数是注册OD的回调函数的,就是别的节点一写这个OD,就会自动调用指定的回调函数,可以在回调函数里 ...

非常感谢楼主的解答。希望楼主再帮忙指点下。我对这个函数的内容实在没理解透,谢谢了。请帮忙看下这个函数的内容
UNS32 RegisterSetODentryCallBack(CO_Data* d, UNS16 wIndex, UNS8 bSubindex, ODCallback_t Callback)
{
UNS32 errorCode;
ODCallback_t *CallbackList;
const indextable *odentry;

  odentry = scanIndexOD (d, wIndex, &errorCode, &CallbackList);
  if(errorCode == OD_SUCCESSFUL  &&  CallbackList  &&  bSubindex < odentry->bSubCount)
    CallbackList[bSubindex] = Callback;    //CallbackList不是函数内部定义的么?如果跳出了这个函数,这句还有意义么?
  return errorCode;
}
xumin383838 发表于 2016-7-7 15:57 | 显示全部楼层
我按照楼主你的canopen移植了以后,测试心跳的时候完全没有规律,本来设定是让从机每隔100ms发送一次心跳报文,但是结果是并没有按照周期来发送,有时几秒钟,有时又是几毫秒,不知道怎么解决

评论

想问这个问题解决了么  发表于 2018-4-8 13:57
xumin383838 发表于 2016-7-13 08:24 | 显示全部楼层
#define MS_TO_TIMEVAL(ms) ((ms) * 1)//((ms) * 125)           //,我更改了这个值,心跳正常了,但是很奇怪,我在字典里面直接更改1017子索引的值为0x64,系统运行以后,可以正常进入100ms心跳,但是我用上位机对字典写SDO的时候,同样是0x64,却等待了一分钟,然后才进入心跳,更奇怪的是,心跳居然是以25ms,75ms交替发送的

评论

我也没有读得很透,换了份工作,现在都不玩这个了,我也是修改宏的值来用的  发表于 2016-9-4 11:54
jialingchy 发表于 2016-7-13 10:25 | 显示全部楼层
我的 心跳时间也不对

评论

有个宏的值修改了就准确了  发表于 2016-9-4 11:55
jialingchy 发表于 2016-7-13 11:12 | 显示全部楼层
楼主还在关注这个贴吗?

评论

也不算关注吧,只是你们有回复我就收到提醒  发表于 2016-9-4 12:00
baotou91 发表于 2016-8-11 12:00 | 显示全部楼层
先顶一个再说的
make8419247 发表于 2016-8-13 11:23 | 显示全部楼层
这是个好东西啊

评论

@make8419247 :现在想问问你是怎么理解timedispatch()的 ,看的我挺玄乎  发表于 2018-4-12 10:21
@xiefengxiyu :你说  发表于 2018-4-11 16:59
兄弟 还在弄can么 想问一些问题  发表于 2018-4-3 16:14
兄弟 还在弄can么 询问一些问题  发表于 2018-4-3 16:14
mochou 发表于 2016-8-23 13:03 | 显示全部楼层
zhuczloveai910 发表于 2016-8-25 08:39 | 显示全部楼层
好东西
lizhengjie 发表于 2016-9-1 11:35 | 显示全部楼层
关注学习了
marshallemon 发表于 2016-10-3 23:13 | 显示全部楼层
LZ实现的是主站还是从站?

评论

两个都实现了,主从的移植都是一样的,只是主从的调用函数在不同的文件罢了  发表于 2016-10-27 19:41
invictusw 发表于 2016-11-19 09:49 | 显示全部楼层
感谢楼主无私奉献
invictusw 发表于 2016-11-19 16:26 | 显示全部楼层
struct_CO_Data  这个结构体编译时出现问题
src\dcf.c(229): error:  #77-D: this declaration has no storage class or type specifier
src\sdo.c(397): error:  #136: struct "struct_s_transfer" has no field "data"
楼主 遇到过类似的问题吗??
jackmcu2015 发表于 2017-2-16 09:26 | 显示全部楼层
楼主,将程序移植到VC平台,用的C#编程,是否需要将涉及.C文件做成dll文件呢。界面已经做好,就是想移植CanFestival接收数据。能否帮忙简单介绍一下处理流程,感谢
JorryZhao 发表于 2017-2-18 17:17 | 显示全部楼层
赞赞赞!!!!
renxiaolin 发表于 2017-2-20 17:54 | 显示全部楼层
这个可以参考呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部