最近搞slam车的电机控制,需要用到canopen来实现主控和电机驱动器之间的通信,现将移植步骤总结如下:
1、下载源码:网址为https://hg.beremiz.org/,选择CanFestival-3的gz或bz2下载。
2、在STM32工程目录下新建文件夹CanFestival,再新建其子文件夹driver、inc和src,
2.1、拷贝源码src目录下的dcf.c、emcy.c、lifegrd.c、lss.c、nmtMaster.c、nmtSlave.c、objacces.c、 pdo.c、sdo.c、states.c、sync.c、timer.c共12个文件到STM32工程的CanFestival\src目录下;
2.2、拷贝源码include目录下的所有.h文件到STM32工程的CanFestival\inc目录下,共19个文件;
2.3、拷贝源码examples\AVR\Slave目录下的ObjDict.h文件到STM32工程的CanFestival\inc目录下;
2.4、拷贝源码include\AVR目录下的applicfg.h、canfestival.h、config.h、timerscfg.h共4个头文件到STM32 工程的CanFestival\stm32目录下;
2.5、将源码放入linux编译环境下,我这里是放入ubuntu下,解压进入根目录相继执行 sudo ./configure、 sudo make步骤后,拷贝源码examples\TestMasterSlave目录下的TestSlave.c、TestSlave.h、 TestMaster.c、TestMaster.h、拷贝到STM32工程的Canfestival\driver目录下,并在该目录下新建 stm32_canfestival.c文件。注意:如果要实现主站则添加TestMaster.c文件到工程,如果是实现从站则 添加TestSlave.c文件添加到工程;
2.6、注释掉config.h中如下宏:
#include <inttypes.h>
&nb