【CAN】STM32新能源汽车CAN通信实现过程

【CAN】STM32新能源汽车CAN通信实现过程


文章目录

  • 前言
  • 一、软件
    • 1.PA11、PA12口配置
    • 2.PB8、PB9口配置
  • 二、接线图
  • 三、硬件原理图
  • 四、上位机
  • 总结


前言

【电机控制】直流有刷电机、无刷电机汇总——持续更新
使用工具:
1.控制器——STM32F103C8T6
2.仿真器——STLINK
3.CAN模块——TAJ1050集成芯片
4.USB转CAN分析仪
5.瑞萨CAN入门书
6.上位机——CANLINtools


在这里插入图片描述

提示:以下是本篇文章正文内容,下面案例可供参考

STM32F103C8T6芯片两个CAN口,PB8PB9和PA11PA12在CAN初始化配置中有不同需注意

一、软件

1.PA11、PA12口配置

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);//ʹÄÜÍâÉèʱÖÓRCC_APB1PeriphClockCmd( RCC_APB1Periph_CAN1 , ENABLE);/* ¸´Óù¦ÄܺÍGPIOB¶Ë¿ÚʱÖÓʹÄÜ*/	 //RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO , ENABLE);	                        											 //GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE);/* Configure CAN pin: RX */	 // PB8GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;	 // ÉÏÀ­ÊäÈëGPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);/* Configure CAN pin: TX */   // PB9GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // ¸´ÓÃÍÆÍìÊä³öGPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);//ʹÄÜCAN1ʱÖÓ	

2.PB8、PB9口配置

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//ʹÄÜÍâÉèʱÖÓ/* ¸´Óù¦ÄܺÍGPIOB¶Ë¿ÚʱÖÓʹÄÜ*/	 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO , ENABLE);	                        											 GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE);/* Configure CAN pin: RX */	 // PB8GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;	 // ÉÏÀ­ÊäÈëGPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);/* Configure CAN pin: TX */   // PB9GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // ¸´ÓÃÍÆÍìÊä³öGPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);//ʹÄÜCAN1ʱÖÓ

二、接线图

在这里插入图片描述

三、硬件原理图

在这里插入图片描述

四、上位机

在这里插入图片描述

总结

本文仅仅简单介绍了【CAN】STM32新能源汽车CAN通信实现过程,评论区欢迎讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/15473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Opencompass模型评测教程

模型评测 模型评测非常关键,目前主流的方法主要可以概括为主观评测和客观评测,主观评测又可以分为两种形式:人工判断或者和模型竞技场。客观评测一般采用评测数据集的形式进行模型评测。本教程使用Opencompass工具进行对Internlm2-7b模型进行…

网络模型-策略路由配置

在实际网络应用中,策略路由也是一种重要的技术手段。尽管在考试并不注重策略路由,但是实际上应用较多建议考生除了掌握基本的静态路由协议IP route-static,动态路由协议RIP、还要掌握如何配置策略路由。策略路由的基本原理:根据ACL定义的不同…

深度学习之人脸性别年龄检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着计算机视觉和深度学习技术的飞速发展,人脸性别年龄检测系统在多个领域展现出广…

SVG批量转为pdf超有效的方式!

最近在整理工作,发现ppt里面画的图智能导出svg格式无法导出pdf格式,由于在线的网站会把我的图片搞乱而且不想下载visio(会把本地的word搞坏),因此琢磨出这种批量转换的方式。 1. 下载并安装Inkscape 下载链接&#xf…

电路仿真软件:点亮教学新篇章,十大便利助力高效学习

在信息化时代的浪潮中,电路仿真软件以其独特的优势,逐渐在教学领域崭露头角。它不仅能够帮助学生更好地理解电路知识,还能提升教师的教学效果。接下来,让我们一起探讨电路仿真软件对教学带来的十大便利。 一、直观展示电路原理 电…

Keras深度学习框架第二十四讲:KerasNLP概述

1、KerasNLP简介 KerasNLP是一个与TensorFlow深度集成的库,旨在简化NLP(自然语言处理)任务的建模过程。它提供了一系列高级API,用于预处理文本数据、构建序列模型和执行常见的NLP任务,如情感分析、命名实体识别和机器…

风控指南:国内车险欺诈呈现四大趋势

目录 车险欺诈呈现内外勾结的团伙化 防范车险欺诈需要多重合作 保险企业需要提升反欺诈能力 监管部门需要加强协同合作 2024年4月11日,国家金融监督管理总局官网发布国家金融监督管理总局关于《反保险欺诈工作办法(征求意见稿)》公开征求意见…

PCL平面多边形可视化

1、背景介绍 多边形是一个在二维平面上由直线段(称为边或侧)首尾顺次连接围成的封闭图形。这些直线段也称为多边形的边,而它们的交点称为多边形的顶点或角。在点云边缘点提取后,有时候需要将其进行可视化,如下图所示。…

【Mac】跑猫RunCat for mac(菜单栏Cpu可视化监测工具) v10.3免费版安装教程

软件介绍 RunCat是一款为菜单栏提供关键帧动画的软件。动画速度会根据Mac的CPU使用情况而变化。奔跑的小猫通过运行速度告诉您Mac的CPU使用率。 这是一款好玩的软件,可以为您的Mac使用添加一点小确幸。感兴趣的朋友可以试试哦。 安装步骤 1.打开安装包&#xff0…

贵州大学24计算机考研数据速览,国家重点实验室22408复试线285分!贵州大学计算机考研考情分析!

贵州大学计算机科学与技术学院坐落在贵州大学北校区(贵阳花溪)。 学院现有教职工139人,其中专职教师126人,教授17人,副教授37人,讲师46人,高级实验师4人,实验师17人。具有博士学位的…

Django 入门教程

1. Django简介 基本介绍 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。 MVC 与 MVT 模型 MVC 模型 MVC 模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型&am…

图论(三)(最小生成树)

一、图的表示(简要概述) 对于图G(V,E)( V 为节点的集合,E 为边的集合 V*V 的子集)有两种表示方法:邻接链表和邻接矩阵,两种表示方法既可以表示有向图&#x…

【C++STL详解(四)------vector的模拟实现】

文章目录 vector各函数接口总览vector当中的成员变量介绍默认成员函数构造函数1构造函数2构造函数3拷贝构造函数赋值运算符重载函数析构函数 迭代器相关函数begin和end 容量和大小相关函数size和capacityreserveresizeempty 修改容器内容相关函数push_backpop_backinserterases…

基于open3d加载kitti数据集bin文件

前言 在自动驾驶领域,Kitti数据集是一个非常流行的点云数据集,广泛用于3D目标检测、跟踪和其他相关研究。Open3D是一个强大的开源库,专门用于处理和可视化三维数据。本文将介绍如何使用Open3D来加载和可视化Kitti数据集中的.bin文件。 准备…

工业路由器在工厂数字化的应用及价值

随着科技的飞速发展,数字化转型已成为工厂提高效率、降低成本、实现智能化管理的关键途径。在这个过程中,工业路由器凭借其独特的优势,正逐渐成为工厂数字化建设不可或缺的核心组件。本文将深入探讨工业路由器在工厂数字化中的应用及价值&…

linux与windows脚本格式必须转换,linux只有LF

如果windows下的脚本在linux下直接执行,则会造成无穷的错误。 在文本处理中, CR, LF, CR/LF是不同操作系统上使用的换行符. Dos和windows: 采用回车换行CR/LF表示下一行. UNIX/Linux : 采用换行符LF表示下一行. MAC OS : 采用回车…

《计算机网络微课堂》2-3 传输方式

本节课我们介绍几种传输方式: 串行传输和并行传输同步传输和异步传输单工,半双工‍‍以及全双工通信 ​​ ‍ 串行 我们首先来看串行传输和并行传输,串行传输是指‍‍数据是一个比特依次发送的,因此在发送端和接收端之间‍‍只…

Linux--09---RPM 、YUM

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 RPM1 什么是RPM2 RPM包的名称格式3.RPM查询命令4.RPM卸载命令5.RPM安装命令 YUM1 什么是YUMYUM优势1.自动下载RPM包并且安装2.自动处理依赖性关系,并且一…

【论文阅读】AID(ICCV‘23)

paper:https://arxiv.org/abs/2310.05666 code:https://github.com/YilongLv/AID Anchor-Intermediate Detector: Decoupling and Coupling Bounding Boxes for Accurate Object Detection

第十一届蓝桥杯物联网试题(国赛)

国赛题目看着简单其实还是挺复杂的,所以说不能掉以轻心,目前遇到的问日主要有以下几点: 本次题主要注重的是信息交互,与A板通信的有电脑主机和B板,所以处理好这里面的交互过程很重要 国赛中避免不了会收到其他选手的…