| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 嵌入式 -> CANopen | 移植01 - 开源协议Canfestival的移植并让FDCAN1运行CANopen协议 -> 正文阅读 |
|
|
[嵌入式]CANopen | 移植01 - 开源协议Canfestival的移植并让FDCAN1运行CANopen协议 |
一、前言本博文的目的是是直接我弄好的BSP,直接往STM32工程里加入代码就能简单并快速地完成CANopen协议的移植。 刚开始研究“如何在STM32上实现CANopen协议”时注意到广州硬石科技的教程。这个教程我建议同学们一定要学习一下,移植Canfestival的流程我记得是没问题的。如下图所示: 我使用的硬件: 二、移植前的准备
三、移植3.0、移植的目的在开发板的FDCAN1接口上实现CANopen从站。当然,我编写的这个bsp已经预留了FDCAN2也能实现CANopen从站或者主站。一般情况下,开发板只需一个FDCAN口实现CANopen。 3.1、工程的实际硬盘上添加文件夹
3.2、往bsp文件夹放入bsp代码
3.3、往canfestival里放入源代码
3.4、往obj_dir里放入代码
3.5、在工程上添加文件canfestival,obj_dir,bsp三个文件夹
3.6、在工程里添加各个文件的代码
3.7、添加include的路径在Keil的工程上添加完工程后,需要继续添加include Paths,不然会出现找不到”啥啥头文件“的情况。 四、定时器4.1、TIM17选择TIM17的原因是canfestival只需要一个简单的定时器,会产生定时器溢出中断即可,所以没必要占用其他高级定时器。 五、代码5.1、bsp_canopen_timer.h在bsp_canopen_timer.h里告诉canfestival,我给它提供了TIM17定时器。 5.2、main.c函数HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)是HAL库的定时器中断回调函数,在main.c里调用。 5.3、bsp_fdcan.c首先包含两个头文件: 5.4、回到main.c
5.5、重定向printf我的bsp代码里面有很多printf,所以一定要实现printf,否则单片机系统会跑飞。实现printf有很多种方法。我使用Keil自带的EventRecorder实现printf。 六、调试6.1、Debug(printf)Viewer在这里调试窗口,可以看到printf的信息。 6.1、CAN分析仪调试至此,FDCAN1已经运行CANopen协议了!!!! 七、细节补充7.1、将CANopen从站的Node_ID改为0x05一般情况,CANopen从站的Node_ID不能设为0x01,0x01最好留给CANopen主站使用。 |
|
|
| 嵌入式 最新文章 |
| 基于高精度单片机开发红外测温仪方案 |
| 89C51单片机与DAC0832 |
| 基于51单片机宠物自动投料喂食器控制系统仿 |
| 《痞子衡嵌入式半月刊》 第 68 期 |
| 多思计组实验实验七 简单模型机实验 |
| CSC7720 |
| 启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
| STM32初探 |
| STM32 总结 |
| 【STM32】CubeMX例程四---定时器中断(附工 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/21 4:35:03- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |