Can通信介质是屏蔽双绞线,通过差分信号进行信号的传输,属于OSI七层网络结构的物理层和数据链路层。CanOpen是基于Can通信的上层协议,是属于网络层协议。需要用到CanOpen则需要根据下载的文档进行移植。
移植环境:
1、移植包 CanFestival-3-8bfe0ac00cdb
2、Keil开发工具
3、STM32F103系列新品(带收发器) 最小ROM 40K RAM 2K
4、Python2.7
5、wxPython2.8
移植步骤:
1、新建一个STM32工程文件,添加源文件和对应头文件
2、在工程目录文件下新建CanFestival文件夹,在CanFestival文件夹新建Src、Inc、Driver三个文件夹。
3、复制CanFestival-3-8bfe0ac00cdb包下的src文件夹内的全部源文件到工程文件的Src目录
4、复制CanFestival-3-8bfe0ac00cdb包下的include文件夹内的头文件到工程文件的Inc目录下,并且将CanFestival-3-8bfe0ac00cdb下的example/AVR/Slave文件夹下的ObjDict.h复制到工程文件Inc文件夹内。
5、复制CanFestival-3-8bfe0ac00cdb/include/AVR目录下applicfg.h、canfestival.h、config.h、timerscfg.h到工程文件夹Driver目录下,并在该目录下新建stm32文件夹。
6、将CanFestival-3-8bfe0ac00cdb/examples/TestMasterSlave文件夹下的TestMaster.c、TestMaster.h、TestSlave.c 、TestSlave.h、TestMasterSlave.h复制到工程目录Driver/stm32目录下,并在该目录下新建stm32_festival.c。
注:在CanFestival-3-8bfe0ac00cdb/examples/TestMasterSlave文件夹下并未发现上述的源文件和头文件,但可以发现有TestMaster.od、TestSlave.od文件。该文件为通讯对象字典,通过python解析可生成源文件。
Python安装: Win10在Windows图标鼠标右键,打开管理员权限命令行,找到Python下载路径,会车可自动安装。
wxPython2.8安装:一路Next,选择安装项最后一项原本为空,下拉选择第二项,然后开始安装成功。
CanFestival-3-8bfe0ac00cdb/objdictgen目录下解压Gnosis_Utils-current.tar到当前目录,复制gnosis文件夹到CanFestival-3-8bfe0ac00cdb/objdictgen目录下,找到该目录下objdictedit.py,点击启动,有对象字典配置界面显示,环境成功安装。
7、将所有的源码和头文件添加进工程,若是实现CanOpen主机,添加TestMaster.c,否则添加TestMaster.c。
8、为stm32_festival.c源文件添加内容
#include "canfestival.h"
#include "stm32f10x.h"
unsigned int TimeCNT = 0 ; //时间计数
uns