【补充:CAN卡通信的下位机-STM32cubeIDE-hal库+STMF1xx+数据发送和接收+中断接收方式+基础样例3】

news2024/11/27 8:25:47

【CAN卡通信的下位机-STM32cubeIDE-hal库+STMF4xx+数据发送和接收+中断接收方式+基础样例3】

  • 1、概述
  • 2、实验环境
  • 3、问题描述
  • 4、大佬指点与解决问题
  • 5、实验效果截图
  • 6、代码连接
  • 7、细节部分
  • 8、总结

)

1、概述

从第一篇F1和F4上采用轮询的方式调试can,
【CAN卡通信的下位机-STM32cubeIDE-hal库+STMF1xx和STMF4xx+数据发送和接收+轮询接收方式+基础样例(1)】

到第二篇F4上采用中断方式,
【CAN卡通信的下位机-STM32cubeIDE-hal库+STMF4xx+数据发送和接收+中断接收方式+基础样例(2)】

F1上采用中断方式接收,已经过去两个多月,一直没能解决。
这次请到ST原厂大佬,现场帮忙调试,只能说不愧是原厂大佬吧。

2、实验环境

本次实验环境实是在两个环境下,如下,请根据自己的环境选择对应开发板。

(1)软件环境:STM32cubeIDE 1.8.0
(2)硬件芯片:STM32F103VET6(野火:指南者)
(3)其它硬件:j-link or st-link , 串口转usb转换器,can卡,开发板。
(4)特殊硬件:STM32F103VET6(野火:指南者)这款开发板,是没有can转换芯片的,所以我们自己需要弄一个,而STM32F407ZET6(正点原子:探索者)这款,是有的,可以不用外接,如下需要买的话,可以参照正点原子F4的can芯片SIT1050T,或者某宝淘一个类似的。
在这里插入图片描述
如下是我在某宝上购买的一种:
名称:「CAN转TTL模块TJA1050T芯片方案程序源码通讯转换 can通信驱动模块」
在这里插入图片描述

下图所示硬件截图

在这里插入图片描述

3、问题描述

最近开始调试时候,按照网上相关文章,配置STM32F1xx的can,并且加入相关代码后,发现无论如何就是不运行,后来使用STM32F4xx配置can,发现可以运行,F4类似的方式,去配置F1的can,还是收不到任何东西,后来在回调函数加入串口打印,发现死在了can中断里,如下图所示。

目前问题是:在hal库,软件STM32cubeIDE下,STM32F1的can无法出中断,也无法获得数据
在这里插入图片描述

4、大佬指点与解决问题

假传万卷书,真传一句话。
如下图,因为模仿F4的写法,所以多了一个“&”符合,致使样例程序无法成功跑起来。

在这里插入图片描述

5、实验效果截图

如下图,再次下载后,也成功实现了中断接收情况。
在这里插入图片描述

6、代码连接

F1成功后代码链接:
https://download.csdn.net/download/qq_22146161/87913290

7、细节部分

(1)重新对比F4代码,发现F4确实有这个“&”符号,真的很神奇,这个问题说难,也难,确认一般人很难预料到这块。

在这里插入图片描述

8、总结

最后问题点在这,确实也没想到,自己确实也学习到了东西吧,当然自己也需要反省,一个小小的符合,引发这么大的问题,还是照搬学习F4成功之后的样例。

这样我想起《三体》中,一位面壁者所做的思想钢印,千万代码中,一个小小的符合,能让人的思维,完全产生相反的效果,从主战派到逃跑派。

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

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

相关文章

如何用Jmeter进行接口测试 ,这应该是全网最详细的教程了

一、Jmeter 的使用步骤 打开Jmeter 安装包,进入\bin 中,找到"jmeter.bat", 点击打开即可。 在下图打开的Jmeter 页面中,右键“测试计划” -> “添加” -> "Threads(Users)" -> “线程组”, 建立线…

Allure安装、使用、Jenkins集成

目录 一、allure介绍 二、安装allure服务 三、安装pytest、allure-pytest 插件 四、生成报告 五、allure其他使用 5.1 给测试报告添加各种附件 5.2 添加用例标题和描述信息 5.3 添加链接 5.4 标记测试用例 5.5 优先级 六、allure和jenkins集成 一、allure介绍 all…

2023年5月青少年软件编程(图形化) 等级考试试卷(三级)

青少年软件编程(图形化) 等级考试试卷(三级) 一、 单选题(共 25 题, 共 50 分) 1.关于变量, 下列描述错误的是? ( ) A.只能建一个变量 B.变量可以隐藏 C.变量可以删除 D.…

【抽样调查】实验

文章目录 1、数组矩阵简单抽样(1)构造数组(2)构造矩阵(3)产生来自正态分布的随机数(4)从正态总体中抽取若干个样本(5)对矩阵的行或列进行统计计算 2、R软件作…

输入信号、冲激响应与卷积

输入信号与冲激响应的离散卷积 系统冲激响应: h ( t ) ∑ τ 0 ∞ x ( t ) δ ( t − τ ) h(t)\sum_{\tau0}^{\infty}x(t)\delta(t-\tau ) h(t)τ0∑∞​x(t)δ(t−τ) 上式中 h ( t ) h(t) h(t)是冲激信号输入到系统后系统的输出,也是系统对外在激…

stl容器vector笔记

Vector 一、初始化二、常用方法1. 访问元素at()、下标、data()、front()、back()2. push_back()、pop_back()尾部增删元素3. insert()在pos前插入元素,返回插入位置4. erase()擦除元素,返回擦除元素后的元素位置5. clear()清空容器6. resize()改变容器元…

C语言中函数返回数组(一维和二维)

文章目录 函数返回一维数组函数返回二维数组 C语言中函数返回数组是很重要的一种应用,有时候在程序中调用函数返回数组可以更容易的实现我们想要的某些操作,比如一次返回多个值,这篇文章带来的是C语言中函数返回一维数组和二维数组的例子。 函…

Python自动化测试框架我到底应该学哪一个?

企业中,自动化必定会演变成搭建测试框架,这是为什么呢? 可能有一些刚刚进入软件测试行业的朋友还不理解什么是测试框架,没关系,首先我们知道一点,为什么自动化会演变成搭建测试框架呢? 第一个…

Ribbon和 Nacos服务注册中心

✅作者简介:大家好,我是Cisyam,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Cisyam-Shark的博客 💞当前专栏: 微服务探索之旅 ✨特色专…

软件测试面试自己都不上心,就不要抱怨别人对你冷眼旁观

昨日表哥恳请帮他的学生投递一下开发岗的简历,举手之劳,这忙必须得帮。但当发来学生的简历后,我吐槽了“这简历平平无奇,没有任何亮点,如何令人另眼相看?”表哥说,学生经历不多,总不…

离散数学题目收集整理练习(期末过关进度20%)

✨博主:命运之光 🦄专栏:离散数学考前复习(知识点题) 🍓专栏:概率论期末速成(一套卷) 🐳专栏:数字电路考前复习 ✨博主的其他文章:点击…

一文看懂什么是广告联盟,未来可期吗?

日常学习一些行业内的相关基础知识,可以在工作中更好地理解业务。在互联网广告行业中,广告联盟是很重要的存在,我们今天一起来了解下什么是广告联盟吧。 文中GG联盟广告联盟 GG广告 一. 定义 GG联盟通指网络GG联盟,指集合中小网…

【链表复习】C++ 链表复习及题目解析 (3)

目录 剑指offer 中的链表题目 JZ6 从尾到头打印链表 JZ18 删除链表的结点 JZ24 反转链表 JZ25 合并两个排序的链表 JZ52 两个链表的第一个公共结点 JZ23 链表中环的入口结点 JZ22 链表中倒数第k 个结点 JZ35 复杂链表的复制 JZ76 删除链表中重复的结点 本次给大家带来…

用注解实现方法开关

一、自定义注解的基本使用 java.lang.annotation 提供了四种元注解,专门注解其他的注解(在自定义注解的时候,需要使用到元注解): Documented – 注解是否将包含在JavaDoc中 Retention – 什么时候使用该注解 Target –…

【算法】动态规划-斐波那契模型

文章目录 结论斐波那契模型第 N 个泰波那契数三步问题使用最小花费爬楼梯**方法1:**以i位置为结尾....方法2:以i位置为起点.... 解码方法 结论 对于线性dp,一般是用经验题目要求来定义状态表示: 以某个位置为结尾…以某个位置为…

React 通过一个输入内容加入列表案例熟悉 Hook 基本使用

我们创建一个react项目 在src下创建components文件夹 在下面创建一个index.jsx index.jsx 参考代码如下 import React, { useState } from "react";const useInputValue (initialValue) > {const [value,setValue] useState(initialValue);return {value,onCha…

【2023,学点儿新Java-01】从查看本机 jdk版本 开始 | Java基础全程脉络图、Java工程师全程技术路线、Java职业晋升路线图

一个人把生命耗尽,应该是为了一些美好的东西,值得的东西,用蓬勃如烈火的生命力 去战胜一个又一个人生的悲剧,这本身就是人生的意义之一吧! 🎯作者主页: 追光者♂🔥 🌸个人…

Win10 系统专业版远程桌面如何才能多用户同时登录使用?

环境: Win10专业版19041 RDPWrap-v1.6.2 dell5493笔记本 问题描述: Win10 系统专业版远程桌面如何才能多用户同时登录使用? 解决方案: 安装RDPWrap 1.关闭remote desktop services服务 安装RDP之前,要先关闭re…

8年性能测试工程师告诉你,压力测试详解,如何做压力测试...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 什么是压力测试&a…

灯塔工厂PLC智慧边缘计算机嵌入式linux系统

随着工业物联网的发展,越来越多的企业开始将工业自动化设备接入到物联网平台,以实现设备远程监控、运维和管理。其中,PLC智能网关作为连接PLC和物联网平台的重要设备,发挥着至关重要的作用。本文将介绍PLC数据采集控制网关的功能和…