【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相关也可以告一个段落了。