【软件RT-Thread Studio下配置STM32H743xx串口发送数据-基础样例】

发布时间:2024年01月18日

(1)叙述

有段时间 不调试RT-Thread Studio,相关配置也忘得差不多了,自己记录笔记的好处是,可用按照以前方式再走一遍,很容易实现。
但是在实现过程中,如下,是我自己之前写的,发后续有些部分是有问题的,之前有人评论没太在意,这次再次尝试,也补全这些。

软件RT-Thread Studio下配置STM32F4xx串口uart2和uart4发送数据-基础样例

(2)环境

软件环境:PC - win
软件环境:RT-Thread Studio
在这里插入图片描述

硬件环境:STM32H743xxx(正点开发板)
其它硬件:j-link下载器,usb转接type线,两根杜邦线。
在这里插入图片描述

(3)步骤说明-相关说明

1、步骤说明

操作流程,对我这样初学者非常关键,操作步骤的执行下虽然没有固定步骤,但是有些关键没做到,那么就可以会失败。
讲个以前笑话,把大象装进冰箱需要几步,答案是三步,第一步:将冰箱打开,第二部:将大象装进冰箱,第三步:将冰箱门关上。
讲个例子,有点像Linux读写文件,需要几步呢,还是三步,第一步:找到文件,第二步:读写文件,第三步:关上文件。
上面两个例子是为了更好理解接下来要做的事情,就是RT-thread下串口发送数据需要几步,答案是三步,第一步找到串口,第二部找到串口设备了配置,第三步,发送数据。

2、相关说明-问题说明。

首先,还是稍微有些歉意的,因为之前的文章,存在一些误导,当时调完F4后,就继续弄,后来才发现,代码有问题。

软件RT-Thread Studio下配置STM32F4xx串口uart2和uart4发送数据-基础样例

自己在实际调试过程中,在main里运行代码时,不会反复发送,如下图所示。
在这里插入图片描述
下完后,只运行一遍。

3、问题解决方式。

因为我只在H7上进行实验的,发现这个问题,对比了下官网代码,应该是某些代码确实,配置不对导致的
https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v1/uart

所以我最后使用了官网的代码调通了。

在这里插入图片描述

4、补充说明。

我自己在生活中,尽可能把自己遇到的问题都说明出来,帮大家避开,但受限自己的能力及其,不可能穷尽。所以只能遇到就记录,有时候,网友遇到问题,我可能因为不了解情况,没办法解决。

如下,是当时f4的评论区,当时很多问题没有验证,所以不知道,请谅解,社区大家维护,才能一点点给他人帮助。
在这里插入图片描述

(4) 前期准备

1、实验说明

本次我们打算开三个额外串口,分别是 uart2 uart3 uart4 .
然后让其发送数据。只有发送数据,说明其中配置。

2、实验过程

想要实现串口,我们需要一些基本配置,使用RT-thread studio 配置基本样例。
(1)使用软件建立基础工程
在这里插入图片描述

(2)根据自己单片机样例配置,调试器有j-link就选默认就好,其他的就修改下。
在这里插入图片描述
建立过程中
在这里插入图片描述
(3)更改代码,修改时钟频率为480,
其实在开始的时候,也提示了,开发板默认使用内部的时钟。
在这里插入图片描述
我们找到之前收到配置的480工程。复制里面的代码。

【软件STM32cubeIDE下STM32H743xx使用:看门狗iwdg+复位标志位-基础样例】

RTC配置好的代码:https://download.csdn.net/download/qq_22146161/88356935

在这里插入图片描述
具体情况再截个图。
在这里插入图片描述

然后还有个地方需要改写下
在这里插入图片描述

(4)编译,硬件连接自己开发板子,或者demo板子,使用串口工具测试通信 ,这里因为是开发板,直接使用开发板上的串口。
在这里插入图片描述

如下图所示是硬件连接
在这里插入图片描述

至此基础样例基本可以,我们继续向下

(5)代码配置情况

1)代码配置

(1)基本参数配置

在这里插入图片描述

(2)确认引脚

查原理图或者手册,确定uart2和uart4引脚,因为我用的是正点开发板,所以查对应原理图如下

在这里插入图片描述

简单说

 - PA2  >>  uart2-TX 
 - PA3  >>  uart2-RX 
 - PB10 >> uart3-TX
 - PB11 >> uart3-RX
 - PC10  >>  uart4-TX
 - PC11  >>  uar4-RX

在board.h文件下加入如下代码
在这里插入图片描述

(3)配置文件

在文件rt-thread>>components>>drivers>>include>>drivers找到serial.h串口文件,很多配置其实rt-thread帮我们做好,我们需要自己连接下,如下图,找到文件后包含两个头文件。

#include <completion.h>
#include <dataqueue.h>

在这里插入图片描述

这步做完了了需要使用配置连接下,让编译器找到文件。
在这里插入图片描述

打开后选择文件洗头,选择对应目录
“{你建立工程下}rt-thread\components\drivers\include\drivers”

”{你建立工程下}rt-thread\components\drivers\include\ipc“
选择这个文件夹,因为以上其中一个文件在这里,我选择默认的所以添加的目录为
“C:\RT-ThreadStudio\workspace\demo-test\rt-thread\components\drivers\include\drivers”

”C:\RT-ThreadStudio\workspace\demo-test\rt-thread\components\drivers\include\ipc“

在这里插入图片描述

如下图,包含文件然后确定应该,同理找到第二个文件
在这里插入图片描述

选择好了后,进行编译,如何在这个过程中进行编译,那么会有很多错误,现在再编译可以消除
在这里插入图片描述

配置这自己配置的时候也老报错,多尝试,确保文件连接进来了,否则就会蒙圈。文件需要一个个连接。

(4)代码功能段

在这里插入图片描述
然后在while 里加入相关代码

在这里插入图片描述

2)硬件连接

(5)连接设备,开发板条线连接,现在因为使用串口,没有额外的串口工具的话,我们可以用uart1的串口232,需要我们跳线。
在这里插入图片描述
当然如果你没有这样的开发板,可以找个usb转串口硬件连接起来,记得共地,串口工具也有便宜点的,在网上淘就行了。
在这里插入图片描述

3)验证

1、硬件连接-uart2

在这里插入图片描述

2、代码验证-uart2

uart2如图所示,在串口上看到结果

在这里插入图片描述

3、硬件连接-uart3

在这里插入图片描述

4、代码验证-uart3

在这里插入图片描述

5、硬件连接-uart4

在这里插入图片描述

6、代码验证-uart4

uart4如图所示,在串口上看到结果
在这里插入图片描述

(6)代码说明以及代码样例

很多配置地方rt-thread帮我们写好了,我们只要调用就行。
(1)配置在结构体内,如下图,有需要再复制更改就行。
在这里插入图片描述

在这里插入图片描述

(7)代码部分

所用代码连接,觉得有价值,需要的话就拿走吧。
https://download.csdn.net/download/qq_22146161/88756287

(8)细节部分

(1)串口线不导通问题

有个细节需要主要下,有时候代码下进去了,串口软件也打开了,但是发现没有任何串口,这可能是串口驱动问题,或者串口线本身问题,当时测试时自己使用的串口线发现线本身不能用。

j-link下载下图所示
在这里插入图片描述

如下图所示,系统初步没有问题,每隔1s打印信息,控制台是Finsh,默认是设置了的。
在这里插入图片描述
我们可以在RT-Tread Settings内找到它,没配置的话可以勾选上。
在这里插入图片描述
如下图在组件节目内可以勾选上。
在这里插入图片描述

(2)串口打印软件,无输出,但是在打印问题

如下所示,发现在打印,但是没有任何数据,后来靖哥哥确认是波特率原因
在这里插入图片描述
如下图波特率更改后,可用了
在这里插入图片描述

(3)代码编译报错

复制粘贴的时候,很容易出现忘记改名字情况。
在这里插入图片描述

在实际编写过程中,发现报错,如下图,有地方重名了。
在这里插入图片描述

(9)总结

求真求实~~

文章来源:https://blog.csdn.net/qq_22146161/article/details/135655804
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。