实验课程

THIS NAME

实验课程

当前位置: 首页 >> 实验课程 >> 正文

嵌入式Cortex-M应用-开发环境搭建

发布日期:2024-08-03    作者:陆其美     来源:     点击:

开发环境搭建

一、实验目的

1.通过编程环境生成点亮两个LED灯的hex文件

2.使用JLINK将代码烧录进STM32

3.使用Jlink完成烧录

二、实验内容

1.根据相关知识熟悉编译环境并生成正确的hex文件。

2.搭建本地电脑的实验环境

三、实验原理及说明

开发环境介绍STM32CubeIDE 是一个先进的 C/C++ 开发平台,具有 STM32 微控制器的 IP 配置,代码生成,代码编译和调试功能。它基于 Eclipse/ CDT 框架和用于开发的 GCC 工具链,以及用于调试的 GDB。它允许集成数百个现有插件,完成 EclipseIDE 的功能。

点亮 LED 灯原理如下图所示为STM32核心芯片的原理图:

1EC88

LED模块的原理图:

5BA1

由上面两图可知,在 STM32 内控制 LED2 和 LED3 的管脚为 PB15 , PB14 。我们只需要正确配置 PB15 和 PB14 的输出模式即可成功点亮 LED 灯。

GPIO知识入门

所谓 STM32 的 GPIO 接口通俗来说就是管输入输出的接口。它总共有八种模式。分别是:

C323

系统复位后,每根GPIO引脚自动设置为浮空输入模式。

1) 浮空输入:IO口的电平状态未定,即当有外部接入时,IO的电平状态完全由外部输入决定。

2)模拟输入:将外部模拟信号,如信号发生器产生的正强波信号,接到GPIO引脚,当系统需要有 AD或D/A转换功能时,需要使用GPIO引脚的这种工作模式。

3)上拉/下拉输入:在芯片每根引脚内部电路中,分别接有上(下)拉电阻。当将某引脚配置为上(下)拉时,内部电路将与上(下)拉电阻相连。上(下)拉电阻的主要作用是将不确定的信号通过电阻钳位在高(低)电平,电阻顺便也起限流的作用。

4)推挽输出:通俗地讲,当输出低电平时,外部电流经GPIO引脚流入芯片内部,俗称灌电流(吸收负载的电流);当输出高电平时,电流从芯片内部经GPIO引脚向外流出,俗称拉电流(对负载提供电流)。因此,此电路工作形式如同芯片内部器件与外部负载之间的“拉锯”,故称推挽,推挽输出方式的电路驱动能力较强。

5)开漏输出:从电路结构上讲,开漏输出指的是CMOS电路的输出级(漏极)直接与外部负载相连,这样造成的结果是电路没有拉电流能力,只有高阻态和低电平输出(灌电流)两种状态。为了克服这个缺陷,需要接外部上拉电阻,以实现高电平输出的能力。

掌握如何控制 STM32 的 GPIO 接口很简单,只需掌握 GPIO 的初始化,完成对这些GPIO时钟的使能,工作模式的选择以及输出速度的设置即可,如以下代码所示:

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,GPIO_PIN_RESET);

四、实验设备

一套STM32实验设备头歌实践教学平台

五、实验步骤

1.1 打开编译环境

56329

1.2 创建一个新的工程

29570

1.3 选择芯片的型号为STM32F103C8T6TR并且把工程命名为 LEDTEST

265BE

147DA

 

1.4 设置外部时钟


3FA88

 

 

 

1.5 设置调制模式

22A53

1.6 配置GPIO串口 P14、P15 为对外输出

15058

1.7 配置工程并生成代码

1F327

1AAA2

1.8 在 main 文件内完成代码

35519

1、HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,GPIO_PIN_RESET);

2、HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_RESET);

1.9 生成hex文件

28BD6

 

26170

2EF3D

编程要求:根据提示,成功生成hex文件

测试说明:点击评测,评测程序会将 HEX 文件 从目录“/home/stm32/RadarTest/Debug/”下转移到“/data/workspace/userfiles”目录。如果没有程序生成将不能通过测评,下载生成的 hex 文件,进行下一步的操作。

22170

六、实验结果:

给板子上电,按下复位键后发现 LED2、LED3 被点亮,即实验成功。

上一条:应用密码学-AES编码实验 下一条:网络安全-DOS实验

关闭