canopen4.0-canfestiva移植以及同步帧发送

1.canfestival移植入

工程包:

一、canfestival系列教程之程序移植

1.1、首先准备一个hal工程 ,cubmx

--------------RCC配置
在这里插入图片描述
-----------SYS配置
在这里插入图片描述
----------时钟配置
在这里插入图片描述
-----canopen定时器配置(开启中断)
在这里插入图片描述
在这里插入图片描述

--------------can配置波特率,接收中断
在这里插入图片描述
在这里插入图片描述
------RTOS配置
在这里插入图片描述

1.2、库包数据移植,canfestival文件夹中复制源码库的src和include文件夹.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1.3、添加c文件

在这里插入图片描述

1.4、修改文件

在这里插入图片描述
在这里插入图片描述

1.5、start_and_seek_node() 和 start_node()

在这里插入图片描述
在这里插入图片描述

1.5、还需要canSend(), getElapsedTime(), setTimer()三个函数需要编写.

上面讲到还需要canSend(), getElapsedTime(), setTimer()三个函数需要编写.

这里不能单单编写这三个函数.

需要配置stm32的can接口,也就是对can进行参数配置,初始化,使能.然后再调用canSend()才会有作用.

getElapsedTime(), setTimer()要想起到作用,需要配置stm32的定时器.然后timer定时器才可以提供canfestival库一个时钟基准

------------canSend():

/**
  * 函数功能: CAN发送函数
  * 输入参数: notused:结构体 m:数据
  * 返 回 值: 无
  * 说    明: 无
  */
unsigned char canSend(CAN_PORT notused, Message *m)
{
   
	uint8_t txbuf[8];
	uint32_t	i;	
  printf("m->cob_id=%x\r\n",m->cob_id);	
	
  TxHeader.StdId=m
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值