stm32 cubemx can通讯(1)回环模式
文章目录
- 前言
- 一、cubemx配置
- 二、代码
- 1.过滤器的配置(后续会介绍)
- 2.main.c
- 3.主循环
- 总结
前言
介绍使用stm32cubemx来配置can,本节讲解一个简答,不需要stm32的can和外部连接,直接可以用于验证的回环模式。
所谓回环模式就是自己发给自己。
参考:
参考1
一、cubemx配置
配置到合适的速率

要打开中断

二、代码
1.过滤器的配置(后续会介绍)
在新版的cubemx中可以直接在 MX_CAN_Init();中加入过滤器配置,老版的不行(野火hal库视频里面介绍的不可以)
在这个注释段内加入过滤器配置
/* USER CODE BEGIN CAN_Init 2 */CAN_FilterTypeDef sFilterConfig;sFilterConfig.FilterActivation = ENABLE;//打开过滤器sFilterConfig.FilterBank = 0;//过滤器0 这里可设0-13sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;//采用掩码模式sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;//采用32位掩码模式sFilterConfig.FilterFIFOAssignment = CAN_FILTER_FIFO0;//采用FIFO0sFilterConfig.FilterIdHigh = 0x0000; //设置过滤器ID高16位sFilterConfig.FilterIdLow = 0x0000;//设置过滤器ID低16位sFilterConfig.FilterMaskIdHigh = 0x0000;//设置过滤器掩码高16位sFilterConfig.FilterMaskIdLow = 0x0000;//设置过滤器掩码低16位if(HAL_CAN_ConfigFilter(&hcan,&sFilterConfig) != HAL_OK)//初始化过滤器{Error_Handler();}if(HAL_CAN_Start(&hcan) != HAL_OK)//打开can{Error_Handler();}if(HAL_CAN_ActivateNotification(&hcan,CAN_IT_RX_FIFO0_MSG_PENDING) != HAL_OK)//开启接受邮箱0挂起中断{Error_Handler();}/* USER CODE END CAN_Init 2 */
2.main.c
在开头的地方创建一些变量已经cna的接受回调函数
CAN_TxHeaderTypeDef TXHeader;
CAN_RxHeaderTypeDef RXHeader;uint8_t TXmessage[8] = {0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77};
uint8_t RXmessage[8];
uint32_t pTxMailbox = 0;void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)//接受邮箱0挂起中断回调函数
{if(hcan->Instance==CAN1){HAL_CAN_GetRxMessage(hcan,CAN_FILTER_FIFO0,&RXHeader,RXmessage);//获取数据}}
void CAN_senddata(CAN_HandleTypeDef *hcan)
{TXHeader.StdId=0x00000000;TXHeader.ExtId=0x12345000;TXHeader.DLC=8;TXHeader.IDE=CAN_ID_EXT;TXHeader.RTR=CAN_RTR_DATA;TXHeader.TransmitGlobalTime = DISABLE;HAL_CAN_AddTxMessage(hcan,&TXHeader,TXmessage,&pTxMailbox);
}
3.主循环
只需要在主循环中调用这些就行。进入调试模式在回调函数的地方打断点就能看到了!!!
CAN_senddata(&hcan); HAL_Delay(500);
总结
over
相关文章:
stm32 cubemx can通讯(1)回环模式
文章目录 前言一、cubemx配置二、代码1.过滤器的配置(后续会介绍)2.main.c3.主循环 总结 前言 介绍使用stm32cubemx来配置can,本节讲解一个简答,不需要stm32的can和外部连接,直接可以用于验证的回环模式。 所谓回环模…...
Python基础小项目
今天给大家写一期特别基础的Python小项目,欢迎大家支持,并给出自己的完善修改 (因为我写的都是很基础的,运行速率不是很好的 目录 1. 地铁票价题目程序源码运行截图 2. 购物车题目程序源码运行截图 3. 名片管理器题目程序源码运行…...
Python Opencv实践 - 在图像上绘制图形
import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png") print(img.shape)plt.imshow(img[:,:,::-1])#画直线 #cv.line(img,start,end,color,thickness) #参考资料:https://blog.csdn.ne…...
管理者应该编码,但不是在工作时
管理者应该编码吗?这个问题似乎没有一个明确的答案。这场辩论有支持者也有反对者,每一方都有自己的论点。我最近在工作中编写了一个副业项目,这让我重新评估了我在这个问题上的立场。经历了这些之后,我可以说,我的立场已经从管理…...
深度学习常用的python库学习笔记
文章目录 数据分析四剑客Numpyndarray数组和标量之间的运算基本的索引和切片数学和统计方法线性代数 PandasMatplotlibPIL 数据分析四剑客 Numpy Numpy中文网 ndarray 数组和标量之间的运算 基本的索引和切片 数学和统计方法 线性代数 Pandas Pandas中文网 Matplotlib Mat…...
C语言属刷题训练【第八天】
文章目录 🪗1、如下程序的运行结果是( )💻2、若有定义: int a[2][3]; ,以下选项中对 a 数组元素正确引用的是( )🧿3、在下面的字符数组定义中,哪一个有语法错…...
阿里云PolarDB数据库倚天ARM架构详细介绍
阿里云云原生数据库PolarDB MySQL版推出倚天ARM架构,倚天ARM架构规格相比X86架构规格最高降价45%,PolarDB针对自研倚天芯片,从芯片到数据库内核全链路优化,助力企业降本增效。基于阿里云自研的倚天服务器,同时在数据库…...
pytest 编写规范
一、pytest 编写规范 1、介绍 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 1、简单灵活,容易上手,文档丰富;2、支持参数化,可以细粒度地控制要测试的测试用例;3、能够…...
Vue.use和vue.component的区别
Vue.use 注册全局插件vue.use时会将自动将开发者 vue构造函数传入插件,vue.use参数必须是function或者object,object中必须有install方法vue.use会自动判断当前插件时候已经被注册过了,防止重复注册 Vue.component 注册全局组件 为什么有了Vue.component还要用Vue.use呢 V…...
张驰咨询:提高企业竞争力,六西格玛设计公司(DFSS)在行动
六西格玛设计公司(DFSS)是一种专业从事六西格玛设计的企业,其主要作用是为客户提供高效的六西格玛设计服务,以帮助客户实现高品质、低成本和高效率的产品开发过程。六西格玛设计公司通常拥有一支专业的团队,具有丰富的六西格玛设计经验和技术…...
影响 40% 用户,Ubuntu 发行版被曝 2 个安全漏洞
导读近日消息,Wiz 的研究专家 S. Tzadik 和 S. Tamari 近日在 Ubuntu 系统中发现了 2 个安全漏洞,可以提升本地权限,预估影响 40% 的 Ubuntu 用户。 根据博文内容,汇总两个漏洞内容如下: 追踪编号:CVE-202…...
SpringCache的介绍和入门案例
文章目录 概述常用注解入门案例 概述 Spring Cache是Spring框架提供的一个缓存抽象层,用于在应用程序中实现缓存的功能。它通过在方法执行前检查缓存中是否已经存在所需数据,如果存在则直接返回缓存中的数据,如果不存在则执行方法体…...
闪马智能又上榜!
近日,上海市经济和信息化委员会公布了2023年度上半年(第30批)市级企业技术中心拟认定企业名单。凭借在技术创新方面的突出成就,闪马智能上榜其中。 本次认定由上海市经济和信息化委员会组织开展,综合企业的地位和作用、…...
C++中的四种类型转换(Type Casting)方式
在C中,有四种常见的类型转换(Type Casting)方式,它们分别是: 一、静态转换(Static Cast): static_cast是最常见的类型转换方式,用于基本数据类型的转换、非多态类型之间…...
Linux系列:从0到1用Docker部署springboot项目
目录 1.前提条件 2.编写DockerFile镜像文件 3.打包SpringBoot项目 4.通过软件Xftp进行传输(*) 1.点击“文件-新建”编辑 5.操作远程主机 1.docker构建 2.容器运行 6.容器的关闭和删除 1.前提条件 Linux、docker、xftp的安装、一台可以访问的远…...
zabbix监控mysql数据库、nginx、Tomcat
文章目录 一.zabbix监控mysql数据库1.环境规划2.zabbix-server安装部署(192.168.198.17)3.zabbix-mysql安装部署(192.168.198.15)3.1 部署 zabbix 客户端3.2 服务端验证 zabbix-agent2 的连通性(192.168.198.17&#x…...
深入探索二叉树算法:理解、构建和应用C语言
引言 二叉树是计算机科学中的一种重要数据结构,它在各种算法和应用中都扮演着重要角色。本篇博客将带您深入探索二叉树的世界,从基本概念到高级应用,逐步展开二叉树的奥秘,助您更好地理解、构建和应用二叉树算法。 什么是二叉树…...
(css)点击前隐藏icon图表 点击后显示
(css)点击前隐藏icon图表 点击后显示 效果 html <liv-for"(item,index) in sessionList":key"index"class"liClass":class"{ active: change2 index }"tabindex"2">...<el-tooltip class"item" effec…...
Tomcat的动静分离以及多实例部署
一、动静分离 Nginx实现负载均衡的原理: Nginx实现负载均衡是通过反向代理实现Nginx服务器作为前端,Tomcat服务器作为后端,web页面请求由Nginx服务来进行转发。 但不是把所有的web请求转发,而是将静态页面请求Ncinx服务器自己来处…...
uniapp+vue3项目中使用vant-weapp
创建项目 通过vue-cli命令行创建项目 Vue3/Vite版要求 node 版本^14.18.0 || >16.0.0 uni-app官网 (dcloud.net.cn) npx degit dcloudio/uni-preset-vue#vite my-vue3-project打开项目 点击顶部菜单栏终端/新建终端 执行安装依赖指令 yarn install 或 npm install 安装vant…...
解决Navicat从备份中提取单表数据失败报错怎么办_错误日志排查
Navicat 导入 SQL 备份报错主因是上下文缺失:跨库语句(USE/CREATE DATABASE)、权限语句、全限定表名、编码不匹配或锁超时。应删无关语句、确认库存在及权限、用纯 UTF-8 编码、避免图形界面导大数据,优先用 mysqldump 配合「运行…...
虚幻引擎5(UE5)内容管理器(Content Browser)高效工作流全解析
1. 内容管理器基础认知:你的UE5资源中枢 第一次打开UE5的内容管理器时,我就像走进了一个杂乱无章的仓库——模型、材质、蓝图散落各处,根本找不到需要的资源。经过三个项目的实战打磨,才发现这个看似简单的界面其实是整个项目的神…...
前端团队协作:别让沟通成本拖垮你的项目
前端团队协作:别让沟通成本拖垮你的项目 什么是前端团队协作? 前端团队协作是指前端开发团队成员之间的协调与配合,包括代码管理、任务分配、沟通交流等方面。别以为前端开发只是写代码,团队协作不好,项目就会变成一场…...
标书智能体(二)——生成标书提纲代码+提示词
在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...
终极指南:3步快速备份QQ空间完整历史记录,永久保存青春足迹
终极指南:3步快速备份QQ空间完整历史记录,永久保存青春足迹 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想找回多年前的QQ空间说说,却发现…...
PyTorch 2.8应用场景:高校AI课程实验平台——学生免配环境专注算法实现
PyTorch 2.8应用场景:高校AI课程实验平台——学生免配环境专注算法实现 1. 高校AI教学面临的挑战 在高校人工智能课程教学中,环境配置一直是困扰师生的难题。传统教学模式下,学生需要花费大量时间在: 安装不同版本的CUDA驱动解…...
3个革命性功能:让2D照片秒变3D场景的相机匹配神器
3个革命性功能:让2D照片秒变3D场景的相机匹配神器 【免费下载链接】fSpy A cross platform app for quick and easy still image camera matching 项目地址: https://gitcode.com/gh_mirrors/fs/fSpy 想象一下,你手头有一张建筑照片,想…...
机器人跟随算法
REF:基于多机器人路径规划与编队控制的优化研究1. 基础模型RRT(快速随机树)算法:模拟树的生长过程,起始点为树的根节点,在环境中随机采样作为树的叶节点,从最近节点到目标点的方向上,…...
三步彻底告别Windows和Office激活烦恼:KMS_VL_ALL_AIO实战全解析
三步彻底告别Windows和Office激活烦恼:KMS_VL_ALL_AIO实战全解析 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 周五下午4点,IT部门的小王接到第7个求助电话——市场部同…...
技术解析 | TSMaster—CCP/XCP标定功能在汽车电子开发中的实战应用
1. 汽车电子开发中的标定技术基础 在汽车电子系统开发过程中,标定(Calibration)是一个至关重要的环节。简单来说,标定就是通过调整ECU(电子控制单元)中的参数,使车辆性能达到最优状态的过程。想…...
