【QT 自研上位机 与 STM32F4xx下位机联调>>>can通信测试-基础样例-联合文章】

news2024/12/23 13:58:36

【QT 自研上位机 与 STM32F103下位机联调>>>通信测试-基础样例-联合文章】

  • 1、概述
  • 2、实验环境
  • 3、联合文章
    • (1)对于上位机,可以参照如下例子
    • (2)对于下位机,可以参照如下例子
  • 4、QT上位机部分
    • 第一步:QT代码下载编译。
    • 第二步:QT代码验证。
  • 5、STM32下位机部分
    • 第一步:STM32代码验证。
    • 第二步:更改下载器与串口转换器。
    • 下载后,使用can软件-验证结果
  • 6、联合调试
  • 细节部分
        • (1)上传的F4代码编译后,会报错。
  • 总结

1、概述

之前做个qt的上位机软件,现在有了qt下位机软件,是使用STM32,有了这两项,相当我们凑够了步数,可做做一期联合文章,完全可以联合调试,并且在写can的下位机是,当时就有了这个联合文章想法。

2、实验环境

实验环境还是挺重要的,因为有时候,在你电脑上能运行的东西,在别人的电脑就不一定能运行,这一部分的原因就可能是实验版本不一样。
QT软件版本:qt 5.14.2
在这里插入图片描述

硬件其实下位机调通了,F1和F4无所谓的。

(1)软件环境:STM32cubeIDE 1.8.0
(2)硬件芯片:STM32F103VET6(野火:指南者)
(3)硬件芯片:STM32F407ZET6(正点原子:探索者)
其它硬件配件:j-link,can卡,PC,串口转换器。
说明:上下位机链接桥梁,依靠can卡
如图下图,本次硬件。
在这里插入图片描述

3、联合文章

(1)对于上位机,可以参照如下例子

样例文章,参照哪个都行:
【QT5:CAN卡通信的上位机-代码练习-收发数据+布局+引用外部库+基础样例(1)】

【QT5:CAN卡通信的上位机-加入示波器-界面优化与修饰+解析功能编写+进阶样例(2)】

(2)对于下位机,可以参照如下例子

样例文章,:
一个是循环发送接收文章。
【CAN卡通信的下位机-STM32cubeIDE-hal库+STMF1xx和STMF4xx+数据发送和接收+轮询接收方式+基础样例(1)】

一个是中断F4发送接收文章。
【CAN卡通信的下位机-STM32cubeIDE-hal库+STMF4xx+数据发送和接收+中断接收方式+基础样例(2)】

4、QT上位机部分

虽然之前就做个QT相关实验,但是我们无论拿到的是他人的代码,还是自己的代码,最好都验证一下,保证代码本身没有问题,否则联调时,不通,怀疑来怀疑去的,最后自己的一个点没注意到,损失的是自己。

第一步:QT代码下载编译。

将代码下载下来后,直接运行。
如下图所示
在这里插入图片描述

第二步:QT代码验证。

插入can卡usb后,选择自发自收模式。
在这里插入图片描述

点击软件自动发送消息。
在这里插入图片描述

由此,QT软件部分就验证完毕了。

5、STM32下位机部分

虽然之前就做个STM32相关实验,但是我们无论拿到的是他人的代码,还是自己的代码,最好都验证一下,保证代码本身没有问题,否则联调时,不通,怀疑来怀疑去的,最后自己的一个点没注意到,损失的是自己。

第一步:STM32代码验证。

这里使用STM32F4代码举例,将代码下载下来,后点击编译。
在这里插入图片描述
可以看到报了一个错误,多打了一个字母,那么去掉后,可以了。
在这里插入图片描述

第二步:更改下载器与串口转换器。

(1)我本次使用的j-link,没有使用ST-link,需要设置下。
在这里插入图片描述
(2)更加转换器型号不同,接的方式可能不同,但是接在STM32引脚如下。

PA11 --- can_rx---  
PA12 --- can_tx--- 
PA9 --- USART1_TX---
PA10 --- USART1_RX--- //可以不接
GND  --- GND ----//共地细节 别忘了

下载后,使用can软件-验证结果

使用can卡带的软件,可以看到是收到信息,发出后串口也打印了信息.
在这里插入图片描述

6、联合调试

完成以上测试,那么就可以联调了。其实整个硬件通路已经搭建好了,在测试STM32代码时,完事了,只需要关闭“can软件”,运行QT程序就可以了。如下图。
在这里插入图片描述

细节部分

(1)上传的F4代码编译后,会报错。

这块确实不小心多打了一个字母,已经更正,如还是会报错,那么自己手打改下吧。
在这里插入图片描述

总结

感觉最简单的,也需要一步一步调试出来。
自此,can相关也可以告一个段落了。

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

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

相关文章

PCD235A101 3BHE032025R0101功能框图如何在 PLC 中工作?

​ PCD235A101 3BHE032025R0101功能框图如何在 PLC 中工作? ​ 表示功能块和逻辑门的图形编程语言称为功能块图 创建 PLC 时,逻辑门及其在集成逻辑电路中的应用已广为人知。使用专门的绘图应用程序,连接线用于连接功能块编程中的各种符号。…

国内版的ChatGPT模型分享

1、百度的【文心一言】注册地址:点我 这里我很早之前就申请了,所以当前时可以正常使用的,还没有体验的小伙伴,可以现在申请 虽然与ChatGPT还是有一些差距的,但是作为办公助手还是很OK的!! 而且有…

谷歌升级Find My Device服务,苹果Find My产品市场火爆

谷歌效仿苹果和 Tile 的定位追踪解决方案,在 I / O 2023 开发者大会上宣布升级 Find My Device 平台。 谷歌的 Sameer Samat 宣布,Find My Device 平台在“未来几个月内”支持追踪耳机、平板电脑和其他产品类别。更为重要的是,Find My Devi…

深度学习在图像识别方面的应用

前言 深度学习是一种非常强大的机器学习技术,它在许多领域都有广泛的应用。其中,图像识别是深度学习最成功的应用之一。本文将详细介绍深度学习在图像识别方面的应用。 图像识别的基本步骤 图像识别的基本步骤包括图像预处理、特征提取和分类器。图像预…

airasia Superapp × HMS Core:便捷出行,悦享全程

2023年5月9日-5月11日,HUAWEI P60系列及旗舰产品发布会在欧洲德国、中东非阿联酋、亚太马来西亚、拉美墨西哥陆续举办,为消费者带来高端影像旗舰HUAWEI P60 Pro及系列全场景智能新品。其中在亚太站,还传递了一个重要消息:2023年6月…

Tomcat源码:ProtocolHandler与Endpoint

参考资料: 《Tomcat源码解析系列(十一)ProtocolHandler》 《Tomcat源码解析系列(十二)NioEndpoint》 前文: 《Tomcat源码:启动类Bootstrap与Catalina的加载》 《Tomcat源码:容器…

Linux下实现统计文件单词个数和出现次数

本文介绍的是在Linux下实现统计文件单词个数和出现次数&#xff0c;以及实践过程中遇到的gcc编译器不匹配问题 一、实现文件单词个数统计 #include <stdio.h>#define IN_Word 1 #define OUT_Word 0 #define INIT OUT_Wordint splite(char c){if ((c ) || (c\n) || (c\t…

上海丨阿里云 Serverless 技术实战营邀你来玩!

活动简介 本次沙龙深度探讨 “Serverless 在中国企业的落地和开发者实操” 主题&#xff0c;我们特别邀请了来自阿里云一线技术专家&#xff0c;分享当前 Serverless 趋势和落地实践过程中的挑战和机遇&#xff1b;带来数据库 Serverless 技术架构及应用实践&#xff1b;浅析云…

地铁之家—车辆段

城市轨道交通列车也有一个家——车辆段&#xff0c;它通常由停车区、维修区和清洗区等组成&#xff0c;用于停放、维修保养。 一、地铁车辆段和停车场有何不同&#xff1f; 停车场在管理上一般附属于主要车辆段&#xff0c;规模较小&#xff0c;功能上可以实现车辆的运用管理…

如何进行MySQL漏洞扫描

MySQL是一款广泛使用的关系型数据库管理系统&#xff0c;但由于其复杂的结构和功能&#xff0c;也存在不少安全漏洞&#xff0c;容易被黑客攻击。为了解决这些安全问题&#xff0c;进行MySQL漏洞扫描是必要的。那么MySQL怎么进行漏洞扫描?如何进行漏洞扫描?接下来就让小编带大…

ChatGPT为什么能生成图片?

有小伙伴说我想用ChatGPT生成图片怎么操作&#xff0c;ChatGPT怎么画图等 这里阐明一下&#xff0c;ChatGPT是不能够做到画图的 因为它是一种自然语言处理模型&#xff0c;主要用于处理文本和语言相关的任务&#xff0c;例如问答、对话、翻译等。但是&#xff0c;我们可以使用C…

技术干货|如何利用 ChunJun 实现数据离线同步?

ChunJun 是⼀款稳定、易⽤、⾼效、批流⼀体的数据集成框架&#xff0c;基于计算引擎 Flink 实现多种异构数据源之间的数据同步与计算。ChunJun 可以把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中&#xff0c;从⽽为企业提供全⾯的数据共享&#xff0c;目前已在上…

针对电子企业的仓储需求,提出WMS仓储管理系统解决方案

随着电子行业的快速发展&#xff0c;仓储管理已经成为电子企业日常运营中不可或缺的一环。然而&#xff0c;由于缺乏有效的仓储管理系统&#xff0c;电子企业经常面临库存不准确、库存滞销等问题。这就是电子企业仓储管理面临的严重问题&#xff0c;引出了需要提出一套有效的仓…

【每日一题Day211】LC1079活字印刷 | 回溯 计数dp

活字印刷【LC1079】 你有一套活字字模 tiles&#xff0c;其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目。 **注意&#xff1a;**本题中&#xff0c;每个活字字模只能使用一次。 我反正是写的相当暴力 计数回溯 思路&#xff1a; 为了构成不同的…

win10设置notepad++默认打开txt - 两步解决

第一步&#xff1a;Notepad注册.txt 以管理员的方式打开notepad 步骤&#xff1a;打开设置 -> 首选项 -> 文件关联 双击.txt .txt移动到注册框即可 第二步 设置Notepad默认打开 按照以下步骤将Notepad设置为默认打开.txt文件&#xff1a; 右键单击任何一个.txt文件…

车规级MCU芯片

作为车辆控制的核心器件&#xff0c;MCU主要用于车身控制、驾驶控制、信息娱乐和驾驶辅助系统。 8位MCU &#xff1a;提供低端控制功能:风扇控制、空调控制、雨刷、天窗、 车窗升降、低端仪表盘、集线盒、座椅控制、门控模块。 16位MCU &#xff1a;提供中端控制功能:用于动力…

生物信息学——用好源代码的技巧与心法

如果你是一名科研人员&#xff0c;在研究的过程中需要用到代码&#xff0c;那么你可能不需要像专业码农那样从头到尾一句一句去写完整的&#xff0c;而是可以将网上的一段符合应用场景的现成代码拿过来直接用。 这听起来是不是很简单&#xff1f;然而实际上... 目前&#xff0c…

Tuxera NTFS2023苹果电脑专用磁盘读写软件

Tuxera NTFS for Mac是苹果上专门的NTFS磁盘读写工具&#xff0c;帮助Mac用户解决苹果操作系统读写U盘、硬盘等NTFS格式分区的磁盘的困难。其实&#xff0c;最早读写NTFS软件是Tuxera NTFS-3G&#xff0c;但是当时是开源的&#xff08;直接让用户免费使用的&#xff09;&#x…

ubuntu1804替换系统的cups后,启动cups时报错 undefined symbol:_cupsMessageSave。。。

开发环境&#xff1a; Ubuntu18.04 cups-2.2.7 最终要将cups-2.2.7替换为cups-.2.3.3 好&#xff0c;在编译完cups后&#xff0c;对系统的cups进行替换&#xff0c;&#xff0c;此操作已完成。。。。 接下来&#xff0c;启动cups&#xff0c;发现启动失败。。 紧接着执行 jo…

《Java 核心技术面试》课程笔记(九)

对比 Hashtable、HashMap、TreeMap 有什么不同&#xff1f; 典型回答 Hashtable、HashMap、TreeMap 都是最常见的⼀些 Map 实现&#xff0c;是以键值对的形式存储和操作数据的容器类型。Hashtable 是早期 Java 类库提供的⼀个哈希表实现&#xff0c;本身是同步的&#xff0c;…