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