stm32使用clion移植canfestival(canopen)

文章介绍了如何在STM32平台上,特别是硬石H743开发板上,配置FDCAN1并结合CanFestival库进行CAN通信。首先,设置了TIM8作为FDCAN1的定时器,以达到125KHz的频率。接着,详细说明了CanFestival源码的下载、移植和配置过程,包括删除不必要的文件和修改配置文件如timerscfg.h和config.h。最后提到了CMakeList的更新以包含CanFestival库。
摘要由CSDN通过智能技术生成

官方网站 https://canfestival.org/index.html.en

非官方的下载地址

GitHub - ljessendk/CanFestival

每个版本的源码会有些差异,移植代码的时候最好把源码也一并移植

以下使用硬石h743开发板, 并使用TIM8作为FDCAN1的定时器

STM32CubeMax

设置APB1的频率为200MHz,TIM的Prescaler=7,Period=199, Repetition=0,

使得TIM的频率为200MHz/(7+1)/(199+1)/(1+1)=125KHz,并打开中断

打开FDCAN1,默认配置

 生成代码后

将canfestival源码的src和include文件夹到新建的Middleware/canfestival里

incldue里的文件夹只保留AVR其余删除,AVR里只保留 applicfg.h,canfestival.h,config.h,timerscfg.h 四个文件,另外incldue里的cm0, cm3, .gitignore 三个文件也删除

src里删除win32文件夹,并删除canfestival.pc.in ,.gitignore,Makefile.in,symbols.c 文件

最后保留的档案

其中timerscfg.h里的默认设定是

// The timer is incrementing every 8 us.
#define MS_TO_TIMEVAL(ms) ((ms) * 125U)
#define US_TO_TIMEVAL(us) ((us)>>3)

也就是我们TIM8的频率设定的125KHz

另外config.h,applicfg.h里用不到的头文件注释掉

//#include <avr/interrupt.h>
//#include <avr/pgmspace.h>

修改CmakeList添加

#Can
include_directories(
        # Middlewares
        Middlewares/canfestival/include
        Middlewares/canfestival/src
        Middlewares/canfestival/include/AVR
)

file(GLOB_RECURSE SOURCES "startup/*.*" "Drivers/*.*" "Src/*.*" "Middlewares/*./")

未完...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值