1.简介

CAN(Controller Area Network) 总线
CAN通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有CAN_High和CAN_Low两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯。
CAN物理层的形式主要分为闭环总线及开环总线网络两种,一个适合于高速通讯,一个适合于远距离通讯。CAN闭环通讯网络是一种遵循ISO11898标准的高速、短距离网络,它的总线最大长度为40m,通信速度最高为1Mbps,总线的两端各要求有一个“120欧”的电阻。来做阻抗匹配,以减少回波反射。

CAN开环总线网络是遵循ISO11519-2标准的低速、远距离网络,它的最大传输距离为1km,最高通讯速率为125kbps,两根总线是独立的、不形成闭环,要求每根总线上各串联有一个“2.2千欧”的电阻

2.代码移植

2.1.rtconfig.h

#define RT_USING_CAN
#define BSP_USING_CAN
#define BSP_USING_CAN1

2.2.工程添加

E:\RTT\rt-thread-4.0.2-USBHID\bsp\stm32\libraries\HAL_Drivers\drv_can.c
E:\RTT\rt-thread-4.0.2-USBHID\components\drivers\can\can.c
E:\RTT\rt-thread-4.0.2-USBHID\bsp\stm32\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_can.c

2.3.打开HAL库

2.4.修改时钟

usb和can一起使用,usb时钟为48M,can时钟为42M或者45M

2.5.can波特率修改

drv_can.c

tsjw:重新同步跳跃时间单元.范围:CAN_SJW_1TQ~CAN_SJW_4TQ
tbs2:时间段2的时间单元. 范围:CAN_BS2_1TQ~CAN_BS2_8TQ;
tbs1:时间段1的时间单元. 范围:CAN_BS1_1TQ~CAN_BS1_16TQ
brp :波特率分频器.范围:1~1024; tq=(brp)*tpclk1
波特率=Fpclk1/((tbs1+tbs2+1)*brp); 其中tbs1和tbs2我们只用关注标识符上标志的序号,例如CAN_BS2_1TQ,我们就认为tbs2=1来计算即可。
Fpclk1的时钟在初始化的时候设置为42M
则波特率为:42M/((6+7+1)*6)=500Kbps

2.6.添加设备使用例程

thread_can.c
代码死活贴不上来,放弃了

3.验证

开发板can接口连接CANalyst-II,CANalyst-II的USB口接电脑,USB-CAN TOOL工具查看数据发送接收情况

先粗略的研究一下,可以收发数据了,以后用到在详细研究吧
代码链接:https://download.csdn.net/download/u010915068/20079981

STM32F429 rtthread CAN总线相关推荐

  1. 【STM32F429开发板用户手册】第33章 STM32F429的SPI总线应用之驱动DAC8563(双通道,16bit分辨率,正负10V)

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第33章       STM32F429的SPI总线应用之驱动DA ...

  2. 【STM32F429开发板用户手册】第34章 STM32F429的SPI总线应用之驱动DAC8501(双路输出,16bit分辨率,0-5V)

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第34章       STM32F429的SPI总线应用之驱动DA ...

  3. 【STM32F429开发板用户手册】第35章 STM32F429的FMC总线应用之驱动AD7606(8通道同步采样, 16bit, 正负10V)

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第35章       STM32F429的FMC总线应用之驱动AD ...

  4. STM32F429 RTThread自带的USBHID库实现数据收发

    RTThread源码使用rt-thread-4.0.2中stm32f429阿波罗 1.env配置USBHID env的使用这里不作详细介绍,可以查看RTThread官方文档 输入menuconfig, ...

  5. 【RT-Thread】 TinyUSB挂载成U盘和文件系统,基于STM32F405RG

    1.硬件型号\软件版本 MCU:STM32F405RGT6 RT-Thread:v4.1.0 2.CUBEMX配置SPI 既然要将我们的板子挂载成U盘,那么我们的板子必然要有一个片外内存,我的硬件板卡 ...

  6. 【RT-Thread】高精度RTC rx8900 驱动软件包

    文章目录 1 介绍 1.1 支持功能 1.2 目录结构 1.3 许可证 1.4 依赖 2 实现功能 2.1 rx8900驱动描述 2.2 rx8900读寄存器接口 2.3 rx8900写寄存器接口 2 ...

  7. ruby中的符号_Ruby中的凡人和不朽符号

    ruby中的符号 In this article, we're going to explore the following topics: 在本文中,我们将探讨以下主题: symbols are u ...

  8. stm32 IOT_嵌入式云IOT技术圈公众号精选文章专题汇总

    祝各位朋友五一快乐!我花了一点时间对公众号近期发布的一些文章进行了汇总分类整理,未来也会持续分享相应的学习笔记并整理发布到如下专栏: 目前已经整理好的文章如下,如果你有好的文章想分享,也欢迎联系我投稿 ...

  9. RT_thread的IIC设备学习笔记

    目录 前言 1 IIC简介 2 RTthread IIC总线设备API 2.1 IIC设备相关结构体 2.2 rtthread的I2C初始化API 2.3 发现IIC总线设备API 2.4 IIC通信 ...

最新文章

  1. java文件下载用什么技术_Java中实现文件上传下载的三种解决方案(推荐)
  2. QCostomPlot 示例注解 3
  3. SQL Azure 服务器端架构
  4. C++原子性实现无锁队列
  5. Linux配置Java环境变量 详解
  6. TensorFlow infogan 生成 mnist 数据集
  7. 《回话的技术》阅读笔记
  8. hex文件、bin文件、axf文件的区别?
  9. 推荐一个node QQ机器人框架-onebot
  10. 单片机学习——存储器详解(程序存储器、片内RAM、拓展RAM、EEPROM)
  11. android 找不到手机,找不到 Android 开发者选项,难道我的手机系统没有?| 有轻功 #290...
  12. 金融分析与风险管理——资本资产定价模型
  13. 'config.h' file not found 的解决方法以及可能遇到的问题
  14. linux库函数pthread.h------pthread_rwlock_t读写锁说明
  15. 数据库优化整理之:冷热分离
  16. UML时序图(序列图)
  17. No provider available from registry localhost:9090 for service
  18. 7-58 计算油费 (15 分)
  19. 很远又很近的脑机接口|AI的朋友(六)
  20. 为什么要减少Unity中Outline的使用

热门文章

  1. Xcode下载指定版本
  2. 700套个人简历模板(考研保研工作)
  3. 数据结构与算法基础 基本概念
  4. 用正则表达式实现的计算器
  5. 解读 ChatGPT 背后的技术重点:RLHF、IFT、CoT、红蓝对抗
  6. 跨网的数据交换解决方案
  7. 财务管理 viewthread.php,厦大2017mpacc:一些个人经验和感想
  8. SaaS的前世、今生与未来 [上篇]
  9. typemonkey怎么安装?typemonkey怎么用?ae脚本typemonkey教程
  10. 团体标准补贴政策 2022年