打印
[STM32L5]

【STM32L562E-DK试用】+ 基本功能测试

[复制链接]
29|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
latera|  楼主 | 2025-2-11 22:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 latera 于 2025-2-11 22:18 编辑

#申请原创#

这篇文章主要会通过新建简单的工程来测试开发板简单的功能。

1. stm32cube新建一个开发板的基础工程

因为stm32l562e-dk是官方的开发板,stm32cube就支持这个开发板。所谓支持,就是你可以直接新建这个基于这个开发板的stm32cube工程,它帮我们配置好所有的外设,包括基础的晶振时钟配置,led灯和按键的配置,串口配置等等。

1.1. 基于开发板新建工程
首先在cube首页中,选择“Start My project from ST Board”。

在Board Filters中输入对应的开发板型号(STM32L562E-DK),点击开始项目。


然后stm32cubemx会提示是否将所有外设设置为默认的状态,和是否启动TrustZone功能,为了简化这次学习的任务,就选择所有外设设置为默认状态,并不启动TrustZone功能。

完成上面的步骤后,可以看到stm32cube,已经帮我们配置几乎所有GPIO,和外设功能。这对应初学者来说,十分nice。

在clock configuration 界面中可以看出这个工程默认就是使用内部的HSI作为芯片工作的主要时钟源。并且大部分总线的时钟都配置为110mhz。


在Project Manager界面中,输入工程名称和保存路径。然后选择IDE,就可以点击“GENERATE CODE”,来生成源代码。我使用的MDK。


1.2. 源代码查看
打开对应的keil工程,单看文件的构成,可以看出,这个工程和我们基于芯片生成的cubemx工程,没有什么区别。不过,它为我们初始化了所有外设。在main.c的main函数下。



1.3. led 和 按键测试
下面就简单测试一下板载的2个led和一个按键。
首先,led和按键在板上对应的位置:
对应电路为:


在这个工程中,已经事先为我们配置好,对应的配置代码在MX_GPIO_Init()函数中,对应的GPIO引脚如下:


因为工程以及做好了基础的配置工作,我们只需要在增加应用代码。下面是简单按键触发led亮灭的小测试。


1.4. 调试串口测试
在开发板的默认状态下,USART1的PA9和PA10连接到stlink上,并且stlink将虚拟出一个usb转串口的功能,可以直接在电脑上使用这个USB串口。不需要外接多余的串口调试器。

对应的代码设置在MX_USART1_UART_Init()和HAL_UART_MspInit()中。默认的串口格式配置为115200波特率。

为了简化测试,直接使用阻塞的方式来接收电脑发送的字符,再直接返回这个字节。就是简单的echo功能。再main函数中添加如下代码:


以上就是简单的led,按键,和 串口的测试。

2. 使用stm32cube的开发包中的bsp工程来开发在1中是使用stm32cubemx开发包直接生成。另外其实在开发包目录下有这个开发板对应的BSP工程。所谓BSP工程,其实就是这个工程样例,完成所有外设的配置。并且相对从stm32cubemx中基于开发板生成的功能,它更进一步,除了mcu基本的外设配置外,还有各个板载IC的基本使用样例。也相对于出厂的自检程序,当然相对出厂demo会简单一点。
源工程文件在SDK包的如下路径里。

为了不影响SDK包文件内容,我们将这个整个BSP工程文件夹复制到其他目录,但是因为这个工程引用的部分文件在SDK包的其他目录,可以将SDK中的Drivers和Utilities复制到新的BSP工程的文件夹中

最后的文件结构如下:

打开新的BSP工程的MDK目录下的keil工程文件,会发现是编译不过的,这里还需要修改c文件的路径,和头文件的路径。因为上一个步骤中,我们是直接整个文件复制,这样的话,文件路径只是层级发生了变化。
修改有问题的文件路径可以右击对应的文件,选择Options for File “xxx”,在Path中修改对应的路径。如修改stm32_led.c的文件路径,只需要将../../../../../Utilities/lcd/stm32_lcd.c修改为../Utilities/lcd/stm32_lcd.c,各个带感叹号的文件都可以按照../../../../../xxx 改为../xxx的方式修改。




同样在头文件路径配置的窗口中,也需要将Drivers 和 Utilities的文件路径从../../../../../xxx,修改为../xxx。


这样就可以成功编译了,先看一下,这个工程实际演示的功能。其中包含了 led,lcd,触摸屏,sd卡,ospi nor flash,加速度传感器等测试。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

14

帖子

0

粉丝