单片机
返回首页

STM32CubeIDE嵌入式开发入门到入坟-软件篇-2、新建工程与GPIO(IO)口配置

2025-10-27 来源:bilibili

如学习编程的入门课Hello World!一样,我们嵌入式的第一节课便是IO端口电平控制,点亮一个LED灯。网上各种STM32开发板,同学们可以买一个来学习,手上没有开发板又想马上试试的同学可以试试用multisim或者Proteus软件去仿真,将我们写好的程序下载进去,但是建议有块自己的开发板哦!


到这里我的视频都有讲,建议同学们先把软件入门的视频看了

https://www.bilibili.com/video/BV15M4y1N77m/

cut-off

一、建立工程

点击新建STM32工程

选择芯片型号和封装。点击下一步。

选择保存文件夹,写工程名称(注意:不能有中文路径和名称)。点击完成。

选择时钟,一般使硬件使用的都是8M的无源晶振作为时钟源,选Crystal/Ceramic Resonator。

可勾选的是时钟输出就不用管了。

BYPASS Clock Source(旁路时钟源):不需要芯片内部时钟驱动组件,直接从外部输入时钟信号。

Crystal/Ceramic Resonator(晶体/陶瓷晶振):外部无源晶体与MCU内部时钟驱动电路组成,有一定的启动时间,精度较高。

选择下载与调试的接口(这个很重要,一旦引脚配置未其他功能你就不能调试下载了 ,需要重启根据BOOT引脚电平选择启动方式,再使用串口下载程序才能恢复):

下面SysTick是时基不用管,我们现在是写裸机程序,也就是不带操作系统的程序,就选择SysTick。

配置时钟树,主频如图改到最大,让MCU最快的工作。

勾选该选项,配置外设时就会单独生成一个文件,方便我们修改以及使用。

Ctrol+s保存或点击图示自动构建代码。

构建中:

代码与工程生成完毕。


cut-off

二、文件结构与代码编写

程序启动会寻址到main.c的int main(void)函数开始执行。


我们自己的代码要写在所有带USER CODE BEGIN和USER CODE END之间,如:

/* USER CODE BEGIN 1 */ /* USER CODE END 1 */

不然我们重新配置之后再构建代码,自己写的代码就会被删除。

main函数执行到while语句会进入一个死循环,循环执行里面的代码,我们的用户代码就写在里面。

首先看下我们LED灯对应是哪个GPIO引脚,这里是PB7。输出电平高点亮LED,低灭。

打开配置界面,配置引脚。

选择输出模式。

右键输入自定义名称

配置引脚属性,重新生成代码:

输出模式:

Output Push Pull,推挽输出:用于小电流驱动输出,可输出高低电平。

Output Open Drain,开漏输出:只能输出低电平,在没有上下拉是输出高时为高阻态。

上下拉: NO Pullup and no pull-down,浮空 Pullup,上拉电阻 pull-down,下拉电阻

电平翻转速度:

Low,2MHz Medium,25MHz High,50MHz Very_high,100MHz

引脚的各种状态我会放在嵌入式硬件篇进行讲解,这里着重讲解软件。

在主函数main.c的

/* USER CODE END WHILE */ /* USER CODE BEGIN 3 */

中写入:

HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET); //引脚输出低电平 HAL_Delay(500); //等待延时500ms HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET); //引脚输出高电平 HAL_Delay(500); //等待延时500ms

快捷键:

ctrl+鼠标左键点击对应变量或函数:跳转到声明的地方。

alt+/:代码自动补全。

ctrl+/:注释行内容。

选择Release编译正式版本,Debug是调试版本。

如果控制台输出有错误信息,左键双击即可跳转到相应位置。

点击运行配置。

右键新建配置或者左键双击:

选择下载程序:

选择你所使用的仿真下载器,我这里使用的ST Link选择,接上仿真器点击运行即可。

下载完成,LED已经开始闪烁。


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 家用电器遥控器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • DS1669数字电位器

  • HA1377 桥式放大器 BCL 电容 17W(汽车音频)

    相关电子头条文章